我在Asp.net中有一个网格视图。我想生成特定行的按钮。 就像我有一个名为“状态”的列。如果状态为“接受”,则应在该特定行中生成按钮。 column
答案 0 :(得分:0)
您可以在ASP.NET TemplateField
中使用GridView
并有条件地设置Button
可见性,如下所示:
<asp:GridView runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Status" HeaderText="Status" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button runat="server" Text="Accept"
Visible='<%# Eval("Status")=="Accept" %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
希望这会有所帮助。
答案 1 :(得分:0)
首先添加像这样的模板字段按钮
<asp:TemplateField HeaderText="status" ShowHeader="False">
<ItemTemplate>
<asp:Button ID="btn" runat="server" CausesValidation="false"
CommandName="Select" Text="button" />
</ItemTemplate>
</asp:TemplateField>
和codebehind
protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btn = (Button)e.Row.FindControl("btn");
if (e.Row.Cells[1].Text == "Accept")//replace 1 by your column(status) index in gridview
{
btn.Visible = true;
}
else
{
btn.Visible = false;
}
}
}
并向此按钮添加代码,然后将其添加到
protected void grid_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
//code
}