2013-08-16 173 views
1

我有以下的GridView:GridView的編輯工作不

<asp:GridView ID="GrdAll" runat="server" AutoGenerateColumns="false" ShowHeader="false" 
     Width="40%" GridLines="None" CellPadding="2" CellSpacing="2"> 
     <AlternatingRowStyle CssClass="AltColor22" /> 
     <RowStyle CssClass="AltColor21" /> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <table width="100%" class="TableBorder"> 
         <tr> 
          <td valign="top" align="left"> 
           <asp:Label ID="lblName" runat="server" /> 
           <hr /> 
          </td> 
         </tr> 
         <tr> 
          <td valign="top" align="left" class="TableBorder"> 
           <asp:GridView ID="GrdContent" runat="server" AutoGenerateColumns="False" 
            Width="100%" GridLines="None" CellPadding="2" CellSpacing="2" 
            OnRowDataBound="GrdContent_RowDataBound" OnRowEditing="GrdContent_RowEditing"><%----%> 
            <Columns> 
             <asp:TemplateField HeaderText="Kiosk ID" HeaderStyle-HorizontalAlign="Left"> 
              <ItemTemplate> 
               <asp:Label ID="lblKiosID" runat="server"></asp:Label> 
              </ItemTemplate> 
               <EditItemTemplate> 
               <asp:TextBox ID="txtKiosk" runat="server" Text ='<%#Eval("HBEmailID") %>'></asp:TextBox> 
              </EditItemTemplate> 
              <HeaderStyle HorizontalAlign="Left" /> 
             </asp:TemplateField> 

             <asp:TemplateField HeaderText="Email ID" HeaderStyle-HorizontalAlign="Left"> 
             <HeaderStyle HorizontalAlign="Left" /> 
              <ItemTemplate> 
               <asp:Label ID="lblEmail" runat="server"></asp:Label> 
              </ItemTemplate> 

              <EditItemTemplate> 
               <asp:TextBox ID="txtEmail" runat="server" Text ='<%#Eval("HBEmailID") %>'></asp:TextBox> 
              </EditItemTemplate> 

             </asp:TemplateField> 
             <asp:TemplateField ShowHeader="False"> 
              <ItemTemplate> 
               <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit" 
                Text="Edit" ></asp:LinkButton> 
              </ItemTemplate> 
              <EditItemTemplate> 
               <asp:LinkButton ID="LinkButton3" runat="server" CommandName="Update" 
                Text="Update"></asp:LinkButton> 
               &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Cancel" 
                Text="Cancel"></asp:LinkButton> 
              </EditItemTemplate> 
             </asp:TemplateField> 
            </Columns> 
           </asp:GridView> 
          </td> 
         </tr> 
        </table> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

在此,編輯功能不能正常工作。

在點擊編輯按鈕時,它什麼也沒有顯示。 (應該告訴我文本編輯)

以下是代碼:

Protected Sub GrdContent_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) 

    Dim row As GridViewRow = DirectCast(TryCast(sender, Control).Parent.Parent, GridViewRow) 
    Dim index As Integer = row.RowIndex 

    CType(row.FindControl("GrdContent"), GridView).EditIndex = e.NewEditIndex 
    DBName = CType(row.FindControl("lblName"), Label).Text 
    bindContentGrid(CType(row.FindControl("GrdContent"), GridView), DBName) 
End Sub 

請幫助我,它不會給我的錯誤,但它也沒有表現出我的文本框進行編輯。

+0

'c#'標記被刪除,這是無關緊要的。 –

+0

不行,在c#中的相關答案也可以幫助我,我已經在兩個地方提到過它。 –

+0

嘗試在行編輯事件中設置斷點並使用try catch來查找單擊編輯時得到的錯誤值 – user1342164

回答

2

的問題可能是在下面的代碼

bindContentGrid(CType(row.FindControl("GrdContent"), GridView), DBName) 

如果代碼不返回任何記錄,則不會顯示任何內容。確保它正在返回一些行。