我想用GridView做这样的事情:
<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />
但这不起作用,提出错误:
数据绑定表达式只是 支持具有。的对象 DataBinding事件。 System.Web.UI.WebControls.CommandField 没有DataBinding事件。
无论如何我可以从aspx页面设置可见性吗? PS:SC_TABLE存在于数据源中,因此该部分没有任何错误。
答案 0 :(得分:3)
你可以用TemplateField代替......
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID=SelectButton CommandName="SELECT" Visible='<%# Eval("SC_TABLE") %>' Text="Select" />
</ItemTemplate>
</asp:TemplateField>
答案 1 :(得分:1)
我在this post结束时找到了答案:
基本上,您需要捕获DataGrid上的RowCreated事件
OnRowCreated = “GridView1_RowCreated”
然后,在aspx.cs页面上使用以下代码隐藏控件:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex == 1)
{
e.Row.Cells[0].Controls.Clear();
}
}
如果第一列中有CommandField,则可以正常工作。