设置CommandField从aspx页面选择Visibility

时间:2009-07-16 14:50:40

标签: asp.net commandfield

我想用GridView做这样的事情:

<asp:CommandField ShowSelectButton="True" Visible='<%# return Eval("SC_TABLE") %>' />

但这不起作用,提出错误:

  

数据绑定表达式只是   支持具有。的对象   DataBinding事件。   System.Web.UI.WebControls.CommandField   没有DataBinding事件。

无论如何我可以从aspx页面设置可见性吗? PS:SC_TABLE存在于数据源中,因此该部分没有任何错误。

2 个答案:

答案 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();
    } 
}

如果第一列中有C​​ommandField,则可以正常工作。