2014-09-21 4 views
3

У меня есть GridView и один столбец gridview - это шаблон, и я добавляю элемент управления календарем.Reach asp.net control, который находится внутри элемента управления gridview

enter image description here

Я хочу, чтобы достичь этого контроля из коде и отредактировать его, но я не знаю, как этого добиться. Я могу достичь выше каландра, просто пишу календер1, потому что он находится на странице. Как я могу достичь календаря внутри 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> 
+0

Проверьте мой ответ и скажите мне, если что-то неясно :) – mybirthname

ответ

2

В случае сетки OnRowDataBound="Grid_RowDataBound" - добавить это в GridView1 в ASPX файле.

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; 
} 

В вашем случае Управление должно быть календарем. Если вы хотите связаться с кнопкой, то ее счет будет Button, для Label Контроль меток и так далее.

+0

Спасибо за ответ, но кажется, что есть недоразумение. Я добавляю календар в качестве шаблона. Выберите gridview -> edit column -> add template. А затем добавьте в него календарный контроль. Итак, есть один шаблон календаря, и каждая строка использует один и тот же шаблон. Ваше решение не работает. –

+0

@osman Если вы добавите элемент управления календарем в в Шаблоне шаблонов GridView, это способ получить доступ к элементу управления! – mybirthname

+0

См. Мой файл aspx. Он уже добавлен. Как я могу получить доступ? –

Смежные вопросы

 Смежные вопросы