到达位于gridview控件内的asp.net控件

时间:2014-09-21 12:38:30

标签: c# asp.net gridview

我有一个GridView,gridview的一列是模板,我添加了一个日历控件。

enter image description here

我想从代码隐藏中获取此控件并对其进行编辑,但我不知道如何实现此目的。我可以通过写calender1到达上面的日历,因为它在页面上。如何在gridview内找到日历。

<asp:Calendar ID="Calendar2" runat="server" SelectedDate="2014-07-08"></asp:Calendar>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="IsIlanId" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand" OnRowDataBound="GridView1_RowDataBound">
    <Columns>
        <asp:BoundField DataField="IsIlanId" HeaderText="IsIlanId" InsertVisible="False" ReadOnly="True" SortExpression="IsIlanId" />
        <asp:BoundField DataField="Baslık" HeaderText="Baslık" SortExpression="Baslık" />
        <asp:BoundField DataField="Icerik" HeaderText="Icerik" SortExpression="Icerik" />
        <asp:BoundField DataField="YayinlanmaTarihi" HeaderText="YayinlanmaTarihi" SortExpression="YayinlanmaTarihi" />
        <asp:BoundField DataField="BitisTarihi" HeaderText="BitisTarihi" SortExpression="BitisTarihi" />
        <asp:CheckBoxField DataField="YayindaMi" HeaderText="YayindaMi" SortExpression="YayindaMi" />
        <asp:BoundField DataField="FirmaResim" HeaderText="FirmaResim" SortExpression="FirmaResim" />
        <asp:BoundField DataField="FirmaAdi" HeaderText="FirmaAdi" SortExpression="FirmaAdi" />
        <asp:HyperLinkField DataNavigateUrlFields="IsIlanId" DataNavigateUrlFormatString="Ilan.aspx?id={0}" DataTextField="Baslık" />
        <asp:ImageField DataImageUrlField="FirmaResim">
        </asp:ImageField>
        <asp:ButtonField ButtonType="Button" CommandName="cmSec" Text="Button" />
        <asp:TemplateField HeaderText="Yayınlanma Tarihi">
            <ItemTemplate>
                <asp:Calendar VisibleDate='<%# Bind("YayinlanmaTarihi") %>' ID="Calendar1" runat="server" SelectedDate='<%# Bind("YayinlanmaTarihi") %>' ></asp:Calendar>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

1 个答案:

答案 0 :(得分:2)

如果是Grid OnRowDataBound="Grid_RowDataBound" - 在aspx文件的GridView1中添加它。

protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.DataItem == null)
        return;

    Calendar control= e.Row.FindControl("Calendar1") as Calendar;
    control.Visible = false;
}

在您的情况下,控件应该是日历。如果您想要到达按钮,则帐单为ButtonLabel标签控制等等。

相关问题