在Page_Load上禁用GridViewColoum

时间:2013-09-12 10:28:23

标签: asp.net gridview

我的gridview中有一个删除按钮,我曾经用TemplateField + LinkBut​​ton + OnRowCommand创建。

现在普通用户不应该使用此按钮 - 或者最好不要看到此按钮。

如何在页面日志事件中的gridView中禁用coloumn?

3 个答案:

答案 0 :(得分:2)

试试这个:

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    if(e.Row.RowType == DataControlRowType.DataRow)
    {

          // get the column here and your condition to make that disabled
         e.Row.Cells[index].Visible = false;

    }

  }

你也可以隐藏:

((DataControlField)gridView.Columns
               .Cast<DataControlField>()
               .Where(fld => (fld.HeaderText == "Title"))
               .SingleOrDefault()).Visible = false;

答案 1 :(得分:0)

试试这个

Page_Load

GridView1.Columns[0].Visible = false;

然后网格的第0列变为禁用,网格的另一列自动调整大小。

答案 2 :(得分:0)

使用此选项:在绑定网格之前可见列使用,否则会发生错误。

protected void Page_Load(object sender, EventArgs e)
{
     gridView.DataSource = "yourDatasource";
     gridView.DataBind();
     gridView.Columns[ColumnIndex].Visible =false;
}