在c#中使用绑定源添加自定义DatagridviewRow

时间:2012-02-11 19:24:59

标签: c# .net datagridview customization

有没有办法使用c#添加自定义DatagridviewRow?

我为这些行做了一个课。

class CustomizeRow: System.Windows.Forms.DataGridViewRow
{
    ...
}

现在我可以添加一些自定义行

        DataGridViewColumn column = new DataGridViewTextBoxColumn();
        dataGridView1.Columns.Add(column);

        CustomizeRow row = new CustomizeRow();
        dataGridView1.Rows.Add(row);

但是当我使用绑定源添加像这样的行

时,我该如何处理呢?
        bs = new BindingSource();
        bs.DataSource = dataSet1.Tables["Table"];
        dataGridView1.DataSource = bs;

1 个答案:

答案 0 :(得分:1)

您需要使用DataGridView.RowTemplate

从RowTemplate上的MSDN页面:

  

显示外部数据时,必须设置行模板   使用从DataGridViewRow类派生的自定义类型。同   未绑定的DataGridView控件,可以通过编程方式填充   具有自定义行类型实例的行集合。什么时候   但是,显示外部数据会生成行   自动,但它们基于行模板,您可以   设置为自定义行类型的实例。

所以你可以简单地设置模板行:

CustomizeRow row = new CustomizeRow(); 
dataGridView1.RowTemplate = row;