2010-06-17 74 views
2

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

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

asp.net

回答

4

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

使用此绑定

gridviewNameHere.Columns[index].Visible = false; 

之前,你可以把它在你的事件处理程序的一个再次可见。

4

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

+0

谢谢,我特地去做这种方式。我无法理解我的头,但我可能需要再看一眼。 – flyersun 2010-06-17 15:19:27

2

使用列的索引来隐藏它,当你初始化...

grid.Columns[index].Visible = false; 

我其实隐藏你所提出的建议,例如几件事 - 数据库状态的名字该行可用于在用户不需要看的代码中。

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; 
}