2015-02-09 58 views
1

加載我得到這個GridView控件:我EditItemTemplate中是不是在我的GridView

<asp:GridView 
    ID="gv_cats" 
    AutoGenerateColumns="false" 
    runat="server" 
    DataKeyNames="ID" 
    AllowSorting="True" 
    cellpadding="10" 
    CssClass="std_tbl" 
    AutoGenerateDeleteButton="True" 
    Height="98px" 
    OnRowDataBound="gv_cats_RowDataBound" 
    OnRowDeleting="gv_cats_RowDeleting"> 
    <Columns> 
     <asp:TemplateField HeaderText="CustOrder" SortExpression="CustOrder"> 
      <ItemTemplate> 
       <asp:Label ID="label1" runat="server" Text='<%# Bind("CustOrder") %>'/>       
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="editCustOrder" runat="server" Text='<%# Bind("CustOrder") %>'/> 
      </EditItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="SalesOrder" SortExpression="SalesOrder"> 
      <ItemTemplate> 
       <asp:Label ID="label2" runat="server" Text='<%# Bind("SalesOrder") %>'/>       
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:TextBox ID="editSalesOrder" runat="server" Text='<%# Bind("SalesOrder") %>'/> 
      </EditItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

的代碼運行正常,並裝載爲好。但是當試圖按下ItemTemplate字段時,什麼都不會發生。我想能夠加載我的EditItemTemplate並編輯單元格。我錯過了什麼?

+1

當GridView切換到編輯模式時,會顯示EditItemTemplate。點擊編輯按鈕時會發生這種情況。我看到你'AutoGenerateDeleteButton',但你沒有'AutoGenerateEditButton'或手動聲明一個編輯按鈕。 [MSDN example](https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatefield.edititemtemplate%28v=vs.110%29.aspx)。 – 2015-02-09 13:55:53

回答

1

當GridView切換到編輯模式時,會顯示EditItemTemplate。點擊編輯按鈕時會發生這種情況。有幾種方法可以做到這一點。

在GridView上,將AutoGenerateEditButton設置爲true。

AutoGenerateEditButton="true" 

或者創建一個顯示編輯按鈕的命令字段。

<Columns> 
    <asp:CommandField ShowEditButton="True" /> 
    .... 
</Columns> 

或者在GridView中,創建具有CommandName設置爲「編輯」按鈕。

<asp:LinkButton ID="LinkButton1" runat="server" 
     Text="Text" 
     CommandName="Edit" /> 
+0

嗨,已經做到了。但你只需要做其中的一個。 – 2015-02-10 06:06:15

+0

它仍然沒有工作? – 2015-02-10 13:45:13