这就是我在ASP.NET C#项目中创建网格视图的方式。这个网格有4列。我想添加第5列并在每一行添加一个按钮。我怎样才能做到这一点 ?将按钮添加到GridView的最后一列
<asp:GridView ID="gv" runat="server" CellPadding="1" Width="900px"/>
这就是我在ASP.NET C#项目中创建网格视图的方式。这个网格有4列。我想添加第5列并在每一行添加一个按钮。我怎样才能做到这一点 ?将按钮添加到GridView的最后一列
<asp:GridView ID="gv" runat="server" CellPadding="1" Width="900px"/>
BoundField
(或TemplateField
,如果你愿意的话)TemplateField
在最后一列总结一下AutoGenerateColumns="False"
:
<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>
怎么样'
您需要手动定义列(在标记中)为'AutoGenerateColumns'需要设置为False;请参阅稍微更新的答案 – mshsayem
在我添加行AutoGenerateColumns =“False”后,其他列未显示。我该如何解决这个问题?当它是'AutoGenerateColumns ='True'时,它将该列添加到网格的开始处。 –
假设你绑定的数据表有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
}
}
谢谢,但我得到一个错误,当我点击按钮,它说'无效的回发或回调参数。事件验证使用'启用。任何线索? –
我已经更新了答案,请检查它。 –
我仍然得到相同的错误。 '回发或回调参数无效。使用' –
我建议增加一个按钮电网的外面,如果你得到大量的行然后每格呈现时,所有的按钮得到渲染和表现会下降。 –
可能重复的[放置按钮作为最后一列在gridview](http://stackoverflow.com/questions/9942668/place-button-as-last-column-in-gridview)或[在gridview中最后一列添加删除按钮](http://stackoverflow.com/questions/16542092/add-delete-button-at-last-column-in-gridview) –