将datagridview数据源绑定到数据表

时间:2010-07-07 15:16:16

标签: datagrid binding datatable

我将数据表绑定到datagridview数据源。现在问题是我的datagridview中的列无法自定义。有谁知道如何做到这一点?似乎这些列是从数据源动态创建的。我需要自定义字体,颜色列名称等...任何想法?

3 个答案:

答案 0 :(得分: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);

然后将它绑定到数据表。

答案 1 :(得分:1)

您应该能够自动生成列并仍然自定义它们。

例如,要更改列的字体,您可以执行以下操作:

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

要更改列名称的颜色:

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

我已经在绑定到DataTable的自动生成的DataGridView中尝试了这两种方法,它对我有用。

答案 2 :(得分:0)

改为使用注释。示例:

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