我正在做一个项目,我需要在DataGridView单元格中添加一个字段(让它称为字段)。关键是要在DataGriidView单元格中增加一个字段,这将使项目的其余部分变得更加容易。
我创建了以下内容:
public class CustomGridRow:DataGridRow{}
public class CustomGridColumn:DataGridViewColumn
{
public CustomGridColumn
{
This.TemplateCell = new CustomGridTextBoxCell()
}
}
public class CustomGridTextBoxCell: DataGridViewTextBoxCell
{
public string field;
}
问题: 如果我创建一个类(这是我想要实现的):
public class CustomGridCell: DataGridViewCell{}
将字段移至CustomGridCell
,我希望CustomGridTextBoxCell
继承新CustomGridCell
,但它已经有DataGridViewCell
的基类和C#不允许类继承两个基类。
我的理解是解决方案来自Interfaces
?知道怎么解决吗?
答案 0 :(得分:0)
假设我明白你想做什么,我想你可以这样做:
class CustomGridTextBoxCell : CustomGridCell
{
public CustomGridTextBoxCell(string field)
: base(field)
{
}
}
abstract class CustomGridCell : DataGridViewCell
{
private string _field;
public CustomGridCell(string field)
{
this._field = field;
}
public string field
{
get { return this._field; }
}
}
注意:我没有对此进行过测试,它只是十分之一。
更新:如果您将抽象类更改为类似的内容,那么:
abstract class CustomGridCell : DataGridViewCell
{
public string field { get; set; };
public CustomGridCell(string field)
{
this.field = field;
}
}
<强> 更新 强>
您也可以尝试:
class CustomDataGridColumn : DataGridViewColumn
{
this.CellTemplate = new CustomGridTextBoxCell();
}
class CustomGridTextBoxCell : CustomGridCell
{
}
class CustomGridCell : DataGridViewCell
{
public string fieldA { get; set; }
public CustomGridCell()
{
}
}