怎么把list<T>里的数据绑定到Datagirdview
//初始化员工信息private void Initial()
{
List<string> workers = new List<string>();
SE a = new SE();
a.Num = "20090101";
a.Name = "王小毛";
a.Age = 19;
a.Gender = "男";
workers.Add(a.ToString());
SE b = new SE();
b.Num = "20090102";
b.Name = "周新宇";
b.Age = 19;
b.Gender = "男";
workers.Add(b.ToString());
//将List数据绑定到dgv
this.dgvshowinfo.DataSource = workers;
}
这个窗体数据都不显示,然后那个窗体最后一列多了一列length 两个都是9... --------------------编程问答-------------------- 再加一句
dataGridView1.AutoGenerateColumns = false; --------------------编程问答-------------------- 没用哇=.= --------------------编程问答-------------------- List<string> workers = new List<string>();
改成
List<SE> workers = new List<SE>();
workers.Add(a); --------------------编程问答-------------------- 本来窗体那就四个列,一运行完变5列了。。莫名其妙多了个length列 还都写了9 = = --------------------编程问答-------------------- 三楼你大神0.0 出来了。。。 --------------------编程问答-------------------- ?? SE类什么样的啊? --------------------编程问答-------------------- 可以了吗??? --------------------编程问答-------------------- 就是 字段属性额。。还有一个无参 一个有参。。 --------------------编程问答-------------------- 这代码可诡异了,你把实体图类转换为String,我技术真还没到家,看不懂这个,忘后面的高手指点一二。 --------------------编程问答-------------------- dataGridView1.DataBind();
另外你把实体给tostring了做什么? --------------------编程问答-------------------- 直接绑。。
话说你重写过ToString()没有= = --------------------编程问答-------------------- 菜鸟 --------------------编程问答-------------------- 1. List<string> workers = new List<string>();改成
List<SE> workers = new List<SE>();
2.dataGridView1.AutoGenerateColumns = false;
3.画面设计的时候。指定列对应的哪个字段。 --------------------编程问答-------------------- 对象的属性名对应dgv的 列的 DataPropertyName
AutoGenerateColumns 必须设置,否则不但会出现多列的问题,将DataSource设null时也会出问题。
应该用BindingSource
List<SE> ses = new List<SE>();
BindingSource bds = new BindingSource();
....
bds.DataSource = ses;
dgv.DataSource = bds; --------------------编程问答--------------------
+1, 这样就是把list 当做DataTable 来用就可以了。
dataGridView1.DataSource = workers;
--------------------编程问答-------------------- 这代码写的真犀利,第一次见到这么写的。。
补充:.NET技术 , C#