我想创建自定义DataViewGrid,其构造函数接受一些参数,并在其类定义中将一些数据添加到将被创建的实例。
例如
public partial class DataGridView : Control
{
//Constructor
public DataGridView(string someColumnName)
{
// Will not compile, that is the questions,
// how to access property Columns inside class definition
this.Columns.Add(someColumnName);
}
}
//On usage side
//Initializing the grid with already one column
var customGrid = new DataGridView("Some Column Name");
//I want to already have object with this column
customGrid.Columns.add("Some Column Name");
'此'没有属性列。如何在网格的构造函数中添加列?或者如何在内部执行任何其他操作,我可以在创建对象后执行此操作,例如 customGrid 对象。
答案 0 :(得分:1)
要使您的控件成为DataGridView类型控件,它必须从DataGridView继承或托管DataGridView控件。
所以看起来像这样:
public class MyGrid : DataGridView {
public MyGrid(string columnName, string columnHeader) {
this.Columns.Add(columnName, columnHeader);
}
}
但请注意,如果您尝试在Form的设计器中使用它,这将无法工作 - 它只适用于无参数构造函数。此自定义控件只能在运行时添加。