2013-06-24 2 views
0

У меня есть DataGrid как нижеVB.net Datagrid Set EditItemTemplate поле Visible

<asp:datagrid id="grid1" OnEditCommand="Grid_Edit" AutoGenerateColumns="False"> 
    <Columns> 
     <asp:TemplateColumn HeaderText="No" HeaderStyle-HorizontalAlign="Center"> 
      <EditItemTemplate><asp:TextBox ID="txtNo" runat="server" Text="some text"></asp:TextBox></EditItemTemplate> 
      <ItemTemplate><asp:Label ID="lblNo" runat="server" Text="No"></asp:Label></ItemTemplate> 
     </asp:TemplateColumn> 
     <asp:TemplateColumn HeaderText=""> 
      <EditItemTemplate> 
       <asp:LinkButton ID="lbkEditUpdate" runat="server" CausesValidation="True" CommandName="Update" Text="Update"></asp:LinkButton> 
       <asp:LinkButton ID="lnkEditCancel" runat="server" CausesValidation="True" CommandName="Cancel" Text="Cancel"></asp:LinkButton> 
      </EditItemTemplate> 
      <ItemTemplate><asp:LinkButton ID="lblEdit" runat="server" Text="Edit" CommandName="Edit"></asp:LinkButton></ItemTemplate> 
     </asp:TemplateColumn> 
    <Columns> 
</asp:datagrid> 

Есть ли способ для меня, чтобы контролировать EditItemTemplate где «txtNo» Visible = ложь после того как я нажал на кнопку редактирования? Я пробовал много подходов и не везение для меня :-(

У меня есть кое-что, как показано ниже, но, конечно, это не работает.

Sub Grid_Edit(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles Grid.EditCommand 
    CType(grid1.Controls(0).Controls(e.Item.ItemIndex).FindControl("txtNo"), TextBox).Visible = False 
End Sub 

Есть в любом случае сделать это ?? У меня есть застрял на день, чтобы понять это, и ваша нежная помощь будет оценена очень :-)
(P/S: Мне нужно держать столбец видимым)

+0

Вы использовали стандартную кнопку редактирования? или вы добавили себя? – ErikMes

+0

Привет, ErikMes, я использую стандартную кнопку редактирования. Но кнопка не имеет значения. Я не мог получить доступ к EditItemTemplate, чтобы установить свойство textbox (например: visible). – Derek

ответ