2010-01-18 61 views
2

我有一个DataGridView可以获取分配的数据源。
我想创建自己的列,如果它是(例如)DateTime。
我发现了一个如何创建DateTimePicker(here)(并希望也是NumericUpDown)添加到数据网格的示例,但我不知道如何将此列定义到我的数据网格。任何帮助将不胜感激!在绑定的DataGridview中添加自己的列

回答

1

检查你的榜样的最后一个方法:

private void Form1_Load(object sender, EventArgs e) 
{ 
    CalendarColumn col = new CalendarColumn(); 
    this.dataGridView1.Columns.Add(col); 
    this.dataGridView1.RowCount = 5; 
    foreach (DataGridViewRow row in this.dataGridView1.Rows) 
    { 
     row.Cells[0].Value = DateTime.Now; 
    } 
} 

这就是列添加到DataGridView。您可以使用相同的方式将来自DataGridViewColumn的任何列对象添加到您的网格。

[编辑]

之前绑定,DataGridView.AutoGenerateColumns属性设置为false,并添加自定义列。

您还必须设置DataPropertyName属性为每个列,确定哪些属性将被绑定到哪个列:

CalendarColumn col = new CalendarColumn(); 
col.DataPropertyName = "Date"; // if your class has a "Date" property 
this.dataGridView1.Columns.Add(col); 
+0

但在我看来,在这里你定义自己的列。如果你绑定它们,te列是自动生成的,那么我如何进行分析并添加这种类型的代码? – Ignace 2010-01-18 09:16:40

+0

这些列不必自动生成,您可以将'AutoGenerateColumns'设置为false ... – 2010-01-18 09:47:09