版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuguanghao/article/details/77131454
要实现用C# dataGridView控件显示类对象数据需要使用到泛型集合的概念,
因为dataGridView中需要同时显示多列的信息,多个的信息以对象属性的方式呈现,也就是说,每一个列的列头都关联了这个对象的属性值,当我们需要显示多行信息的时候,就只需要找到这个对象的名称就可以自动获取到该列的信息。
// 这里我们演示一个简单的示例
//创建一个泛型集合,也就是Halcon对象集合
private List<Halcon>halconList=new List<Halcon>();
private void btnShowList_Click(object sender, EventArgs e)
{
//同时创建N多个对象
Halcon h1 = new Halcon(1.2,4.2,5.4);
Halcon h2 = new Halcon(1.2, 4.2, 5.4);
Halcon h3 = new Halcon(1.2, 4.2, 5.4);
Halcon h4 = new Halcon(1.2, 4.2, 5.4);
Halcon h5 = new Halcon(1.2, 4.2, 5.4);
halconList.Add(h1);
halconList.Add(h2);
halconList.Add(h3);
halconList.Add(h4);
halconList.Add(h5);
//初始化控件的数据,
this.dataGridView1.DataSource = null;
**//将对象halconlist中的数据与dataGridView1中的数据绑定,**
this.dataGridView1.DataSource = this.halconList;
}
上述代码最后一行其实还有一个特别关键的设置,
这个就是将行坐标的DataPropertyName与类中的私有成员进行绑定。
下面再来看看类的设计
每一个私有成员都应该设定其属性,标准写法,
class Halcon
{
private double resultX;
public double ResultX
{
get { return resultX; }
set { resultX = value; }
}
private double resultY;
public double ResultY
{
get { return resultY; }
set { resultY = value; }
}
private double resultAngle;
public double ResultAngle
{
get { return resultAngle; }
set { resultAngle = value; }
}
public Halcon(double x,double y,double angle)
{
this.resultX = x;
this.resultY = y;
this.resultAngle = angle;
}
}
最终结果如图显示: