Gridview使列不可见

时间:2010-06-17 14:33:48

标签: c# asp.net gridview

您好我有一个网格视图,它是使用DataSet通过C#动态生成的。 我将行ID字段(从数据库)传递到网格视图,因为当用户单击以编辑记录时,这是必需的。但是,我不希望用户能够查看该列。 我尝试了以下但它似乎不起作用?任何人都可以建议隐藏列的方法或将信息附加到网格视图行的更好方法,以便可以在以后阶段使用它。 C#

        DataColumn ColImplantCustomerDetailsID = new DataColumn();
        ColImplantCustomerDetailsID.ColumnName = "Implant ID";
        ColImplantCustomerDetailsID.DataType = typeof(int);
        ColImplantCustomerDetailsID.Visable = false; <-- visable doens't work here.

asp.net
                                                  
                             

5 个答案:

答案 0 :(得分:4)

另一个选项,而不是隐藏列,是使用GridView的DataKeyNames属性来存储ID字段的名称。然后,您可以使用myGridView.SelectedValue来检索所选的ID。

答案 1 :(得分:4)

DataColumn没有“可见”属性。哎呀,它也没有“可见”的属性。

在绑定之前使用它

gridviewNameHere.Columns[index].Visible = false;

您可以在其中一个事件处理程序上再次显示它。

答案 2 :(得分:2)

使用列的索引在初始化时隐藏它...

grid.Columns[index].Visible = false;

我实际上隐藏了一些你建议的东西,例如 - 该行的数据库状态名称,可以在用户不需要查看的代码中使用。

答案 3 :(得分:1)

答案 4 :(得分:0)

OnRowDataBound组件的GridView事件中:

// c# 
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    int index = 0; // put the index of the column you need hide.
    e.Row.Cells[index].Visible = false;  
}