DataGrid不显示实现接口的对象的所有属性
本文关键字:对象 属性 接口 显示 实现 DataGrid | 更新日期: 2023-09-27 18:02:37
我有一个定义如下的接口。
public interface IDraw
{
int DrawID {get;set;},
int Num1 {get;set;}
}
和我有两个类实现接口
public class DrawOne:IDraw
{
public int DrawID {get; set;}
public int Num1 { get; set;}
public int Num2 { get ; set;}
}
public class DrawOne : IDraw
{
public int DrawID {get; set;}
public int Num1 { get; set;}
public int Num2 { get ; set;}
public int Num3 { get; set;}
}
我有另一个接口,它定义了如下的方法
public interface IDrawType
{
IDraw GetData();
}
有另一个类实现了这个接口。
public class MyDrawTypeOne : IDrawType
{
public IDraw GetData()
{
DrawOne drawOne = new DrawOne();
drawOne.DrawID = 1001;
drawOne.Num1 = 8;
drawOne.Num2 = 9;
return drawOne;
}
}
我正在实现上述对象的定义如下
public class ImplementationClass
{
public void ButtonClick()
{
List<IDraw> listData = new List<IDraw>();
MyDrawTypeOne drawOne = new MyDrawTypeOne();
for(int i=0; i<10; i++)
{
IDraw data = drawOne.GetDrawData();
listData.Add(data);
}
gridDraw.DataSource = listData;
}
}
我这里的问题是,数据网格只显示DrawID和Num1。我在数据网格中看不到Num2。我还遗漏了什么吗?
任何帮助都将非常感激。
谢谢
您绑定到类型为IDraw
的列表,因此您的DataGrid显示该接口上的所有公共属性。如果你想让它显示额外的属性,你需要将它们添加到你的IDraw
接口,或者改变你绑定到List<DrawOne>
的列表。
您的接口IDraw只有DrawID和Num1作为属性。没有Num2。