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