2010-07-07 119 views
1

我將數據表綁定到datagridview數據源。現在問題是我的datagridview中的列無法自定義。有誰知道如何做到這一點?看來這些列是從數據源動態創建的。我需要自定義字體,顏色列名等...任何想法?將datagridview數據源綁定到數據表

回答

3

如果您在C#(?)中執行此操作,則可以將datagridview AutoGenerateColumns屬性設置爲false並自行動態添加它們。這將允許您自定義它們。

datagridview列的DataPropertyName設置爲您希望顯示的數據表中列的名稱。

例如:

// Create new combo box column. 
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn(); 

// Set properties. 
column.DataPropertyName = colName; 
column.Name = colName; 
column.HeaderText = colName; 
column.DropDownWidth = 160; 
column.Width = 90; 
column.MaxDropDownItems = 5; 
column.FlatStyle = FlatStyle.Standard; 

datagridview.Columns.Add(column); 

然後你只需將它綁定到數據表。

+0

我將AutoGenerateColumns設置爲false後,如何鏈接列? – gd2 2010-07-07 15:22:44

+0

如果這個答案是有用的,你可以給它一個投票或標記爲答案。謝謝 – w69rdy 2010-07-07 16:08:55

+0

嗨 - 感謝您的更新。我不明白的部分是如何綁定定義到動態數據表的列。你能提供綁定的代碼示例嗎?謝謝greg – gd2 2010-07-07 22:02:28

1

您應該能夠自動生成列並仍然對其進行自定義。

例如,要改變列的字體,你可以這樣做:

dataGridView.Columns["ColumnName"].DefaultCellStyle.Font = new Font("Tahoma, 15); 

要更改列名的顏色:

dataGridView.Columns["ColumnName"].HeaderCell.Style.BackColor = Color.Blue; 

我在自動嘗試這兩種生成的DataGridView綁定到一個DataTable,它適用於我。

0

改爲使用註釋。示例:

internal class FailedItem 
{ 
    ... 
    [DisplayName("Clarify reason")] 
    public string Reason 
    { get; private set; } 
    ... 
}