Asp.net 如何使添加按钮与GridView中的编辑按钮位于同一列中?

Asp.net 如何使添加按钮与GridView中的编辑按钮位于同一列中?,asp.net,gridview,Asp.net,Gridview,我有一个GridView,它只需要编辑和添加。下面是我的aspx。我的问题是,“添加”按钮总是显示在“删除链接”按钮应该位于的列下(即使我没有)。如何使“添加”按钮与“编辑链接”按钮位于同一列中 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="true" PageSize="20" onpageindexchanging="OnPag

我有一个GridView,它只需要编辑和添加。下面是我的aspx。我的问题是,“添加”按钮总是显示在“删除链接”按钮应该位于的列下(即使我没有)。如何使“添加”按钮与“编辑链接”按钮位于同一列中

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        AllowPaging="true" PageSize="20" 
        onpageindexchanging="OnPaging"  ShowFooter="true" 
        onrowcancelingedit="GridView1_RowCancelingEdit" 
        onrowediting="GridView1_RowEditing" onrowupdating="GridView1_RowUpdating" >
        <Columns>

            <asp:TemplateField>
                <HeaderTemplate>Vendor
                    <asp:DropDownList ID="ddlVendor" runat="server" 
                    AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="VendorChanged">
                    <asp:ListItem Text="- Select a Vendor -" Value=""></asp:ListItem>
                    </asp:DropDownList>
                </HeaderTemplate>
                <ItemTemplate><%#Eval("Vendor") %></ItemTemplate>
            </asp:TemplateField>
            ...
            <asp:TemplateField>                          
                <FooterTemplate><asp:Button ID="btnAdd" runat="server" Text="Add" /></FooterTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowEditButton="true" />
        </Columns>
    </asp:GridView>

小贩
...

编辑
按钮放在
项目模板
中,将
添加
按钮放在
页脚模板
中,如下所示:

<asp:TemplateField>                          
    <ItemTemplate>
        <asp:Button ID="btnEdit" runat="server" Text="Edit" />
    </ItemTemplate>
    <FooterTemplate>
        <asp:Button ID="btnAdd" runat="server" Text="Add" />
    </FooterTemplate>
</asp:TemplateField>


不,我不希望每行都有“添加”按钮。我只想在底部有一个添加按钮,但与编辑按钮的列相同。我试过了。编辑按钮消失。看来你不能把commandfield放在itemtemplate@GLP-您是正确的,您不能将
CommandField
控件放入
ItemTemplate
中。我从不使用
CommandField
控件,因此我很抱歉没有使用。我总是创建按钮控件,然后通过
RowCommand
事件或单按钮单击事件处理程序(对于页脚或页眉按钮)将它们连接起来。
   <asp:TemplateField>                          
     <ItemTemplate>   
      <table>
         <tr>
           <td>
              <asp:Button ID="btnAdd" CommandName="gAdd" CommandArgument='' runat="server" Text="Add" />   
           </td>
         </tr>
         <tr>
           <td>
               <asp:Button ID="btnEdit" CommandName="gEdit" CommandArgument='' runat="server" Text="Edit" />
            </td>
         </tr>
      </table>
    </ItemTemplate>
    </asp:TemplateField>
 protected void gr_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "gEdit")
            {
            }
        }