有没有办法使用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;
答案 0 :(得分:1)
您需要使用DataGridView.RowTemplate。
从RowTemplate上的MSDN页面:
显示外部数据时,必须设置行模板 使用从DataGridViewRow类派生的自定义类型。同 未绑定的DataGridView控件,可以通过编程方式填充 具有自定义行类型实例的行集合。什么时候 但是,显示外部数据会生成行 自动,但它们基于行模板,您可以 设置为自定义行类型的实例。
所以你可以简单地设置模板行:
CustomizeRow row = new CustomizeRow();
dataGridView1.RowTemplate = row;