2013-02-13 2 views
1

я использую EmptyDataTemplate для ввода новых данных в сетке, а не существующие данные, но я не могу найти свои элементы управления в EmptyDateTemplateнайти элементы управления из EmptyDataTemplate в GridView

protected void gvNavigationDtls_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("EInsert")) 
     { 
      GridViewRow emptyrow = gvNavigationDtls.Controls[0].Controls[0] as GridViewRow; 
      if (((TextBox)emptyrow.FindControl("txtCode")).Text == "") 

в загрузке страницы и я проверяется посредством записи следующего кода

gvNavigationDtls.DataBind(); 
      Control c = gvNavigationDtls.Controls[0].FindControl("txtCode"); 
      if (c != null) 
      { 
      } 

но с нулевой, это означает, что я не в состоянии найти контроль, чтобы использовать его, Пожалуйста, помогите, спасибо заранее

+0

можно дублировать http://stackoverflow.com/questions/1584913/asp-net-gridview-emptydatatemplate –

+1

http://aspdotnetcodebook.blogspot.in/2009/03/how-to-find-control- inside.html –

+0

Спасибо, очень я получил решение, которое вы предоставили во 2-м комментарии, он работал правильно, я следил за каждым шагом n, реализовал его в своем коде, спасибо, очень сильно Shekhar !!! – Anuj

ответ

3
protected void gvNavigationDtls_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName.Equals("EInsert")) 
     { 
      TextBox txtCode=(TextBox)gvNavigationDtls.Controls[0].Controls[0].FindControl("txtCode"); 
      txtCode.Text="Your value"; 
     } 
    } 
+0

Не могли бы вы объяснить этот код? – hgwhittle

+0

доступ к emptydatarowcontrols. «Управление [0]. Контролирует [0]», ссылаясь на адрес emptydatarow. –

+0

нет рабочего стола для управления [0]? –

0

На самом деле, эта проблема была решена, и очень легко найти доступ к данным, но это событие RowDataBound.

Protected Sub grdView(sender As Object, e As GridViewRowEventArgs) Handles grdView.RowDataBound 
     If e.Row.RowType = DataControlRowType.EmptyDataRow Then 
      Dim txt As TextBox = e.Row.FindControl("txtBox") 
      txt.Text = "Hey, this works!" 
     End If 
    End Sub 
+0

Большое вам спасибо! Это работает! Я пробовал так много способов, никто из них не работал. – user3707094