2010-06-17 52 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; 
}