2012-11-12 66 views
1

我正在使用現有的GridView,我想知道是否有一種方法可以爲TextBoxColumn提供不同的值並顯示,類似於ComboBoxColumn(displaymember,valuemember)。如何向DataGridView TextBox添加隱藏值? (C#)

private System.Windows.Forms.DataGridViewTextBoxColumn PATH; 

this.PATH.DataPropertyName = "Path"; 
this.PATH.HeaderText = "PATH"; 
this.PATH.Name = "Path"; 
this.PATH.ReadOnly = true; 
this.PATH.Width = 186; 

現在我有一個隱藏的列ID,但我想知道是否有更好的解決方案。

ETA:我已經把 PATH.DataPropertyName =「PATHID」(隱藏的價值我想用於更新)和this.PATH.Name =「路徑」(字符串值我想顯示)

當我得到列的值時,名稱值仍然返回。

this.mySampleGridView.Rows [I] .Cells [ 「路徑」。價值

回答

0

DataPropertyName應該幫助這裏,如果我理解正確的問題。

大約從DataGridViewColumn.DataPropertyName MSDN文檔:

// Initialize and add a text box column. 
DataGridViewColumn column = new DataGridViewTextBoxColumn(); 
column.DataPropertyName = "Name"; 
column.Name = "Knight"; 
dataGridView1.Columns.Add(column); 

的列現在被綁定到具有多條信息,而是僅示出了單件的項目。其餘部分實際上是隱藏的。

編輯:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcolumn.datapropertyname.aspx

+0

我已經嘗試了本使用Name屬性,但該行的值仍返回名稱值,而不是DataPropertyName值。 – Jules

+0

你有沒有試過看DataGridViewRow.DataBoundItem?這應該會爲您提供您正在使用的基礎數據項。 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.databounditem.aspx –