2012-11-20 39 views
0

即時通訊使用C#,Linq和DataGridView。使用DatabaseTable字段說明何時DataBinding

我像這樣綁定了我的網格。

var db = new DataClassesDataContext(); 

var results = db.Results; 

.... much later on in the code.. 

dataGridView1.DataSource = results; 

它使用的字段名稱撿回我堆的時間,但它可以使用字段說明,所以我必須爲我的客戶更好的山坳名稱的列。

什麼IM現在做正確使用下劃線字段名稱

  • ID
  • USER_NAME
  • SUR_NAME

所以在ColumnAdded事件中,我做

private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e) 
    { 
     e.Column.HeaderText = e.Column.HeaderText.Replace("_"," "); 


    } 

但它只是一項工作ND ..

回答

1

如果你知道這些列將始終代表數據庫中的特定字段,那麼你總是可以只設置它們後直接設置爲GridView的數據源。

DataGridView.Columns[0].HeaderText = "Column 1"; 
DataGridView.Columns[1].HeaderText = "Column 2"; 
DataGridView.Columns[2].HeaderText = "Column 3"; 
DataGridView.Columns[3].HeaderText = "Column 4"; 

它總是將取決於如何在不同數據庫中的命名約定與您希望以表示DataGridView每列比較。它不會總是可以像你在你的例子中那樣操縱它們。

有一件事我注意到,也許缺少的。如果您計劃允許用戶編輯DataGridView中的數據並將更改提交到DataContext,則需要在這兩個對象之間使用綁定源才能使其工作。

+0

由於德里克時,會的cols始終是相同的,並且它認爲只有這樣由用戶沒有變化的數據。 – IEnumerable