将按钮添加到GridView的最后一列

时间:2013-05-21 08:36:47

标签: c# asp.net gridview

这就是我在ASP.NET C#项目中创建网格视图的方法。该网格有4列。我想添加第5列并在每一行上添加一个按钮。我怎么能这样做?

<asp:GridView ID="gv" runat="server"  CellPadding="1" Width="900px"/>

2 个答案:

答案 0 :(得分:0)

  1. 在gridview标记中设置AutoGenerateColumns="False"
  2. 将列定义为BoundField(或TemplateField,如果您愿意)
  3. 为最后一栏中的按钮添加TemplateField
  4. 总结:

    <asp:GridView runat="server" ID="gv" AutoGenerateColumns="False" CellPadding="1" Width="900px">
        <Columns>
            <%-- <asp:BoundField /> Definitions here --%>
            ...
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button Text="Click ME" runat="server" ID="btn" OnClick="Clicked" />        
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    

答案 1 :(得分:-1)

假设您正在绑定具有4列的数据表,例如col1,col2,col3和col4

然后你在.aspx中的网格视图就像;

<asp:GridView runat="server" ID="gv" AutoGenerateColumns="False" CellPadding="1"                 Width="900px" OnRowCommand="gv_RowCommand">
<Columns>
    <asp:TemplateField HeaderText="col1">
        <ItemTemplate>
            <%#Eval("col1")%>// "col1" is field of your database
        </ItemTemplate>
    </asp:TemplateField>  

    <asp:TemplateField HeaderText="col2">
        <ItemTemplate>
            <%#Eval("col2")%>
        </ItemTemplate>
    </asp:TemplateField> 

    <asp:TemplateField HeaderText="col3">
        <ItemTemplate>
            <%#Eval("col3")%>
        </ItemTemplate>
    </asp:TemplateField>                     

    <asp:TemplateField HeaderText="col4">
        <ItemTemplate>
            <%#Eval("col4")%>
        </ItemTemplate>
    </asp:TemplateField>

    <asp:TemplateField>
        <ItemTemplate>
            <asp:Button ID="btnOK" runat="server" Text="OK"  CommandName="show"  />   
        </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>

* .cs页面将是*

protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName.ToLower() == "show")
  {
    //your code on click event 
  }
}