datagirdview数据源绑定泛型集合运行后,表格内是空的
代码如下namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
SE se = new SE();
se.wo = "wo";
se.ni = "ni";
se.ta = "ta";
List<SE> tmp = new List<SE>();
tmp.Add(se);
BindingList<SE> emp = new BindingList<SE>(tmp);
dataGridView1.DataSource = emp;
/*
DataTable dt = new DataTable();
dt.Columns.Add("wo");
dt.Columns.Add("ni");
dt.Columns.Add("ta");
dt.Rows.Add("wo","ni","ta"); ;
dataGridView1.DataSource = dt;
* */
}
}
public class SE
{
public String wo;
public String ni;
public String ta;
}
}
注释掉的先不管他,反正就这样的代码,然后运行以后
我调试了~里面绝对是有数据的,然后数据源绑定tmp和emp都试过,结果都一样,现在是一行,我再加一行数据
SE se1 = new SE();
se1.wo = "wo";
se1.ni = "ni";
se1.ta = "ta";
把这个对象加进去,然后再运行
很明显的能看出来,是两行数据,但是这个数据不会显示的,控件每一列的绑定的是wo,ni,ta,很奇怪的问题,是不是我的VS出问题了?
--------------------编程问答-------------------- 对了注释内的代码我试过了,是正常显示的,搞的我很郁闷、、 --------------------编程问答-------------------- 把
public class SE
{
public String wo;
public String ni;
public String ta;
}
改成:
class SE
{
public string wo;
public string Wo
{
get { return wo; }
set { wo = value; }
}
public String ni;
public string Ni
{
get { return ni; }
set { ni = value; }
}
public String ta;
public string Ta
{
get { return ta; }
set { ta = value; }
}
} --------------------编程问答-------------------- 成功了、、、但是为什么呢?是不是不自己写get和set的话,他算字段不算属性?貌似这个控件找数据是找这个get,有了get没set也能显示出来
补充:.NET技术 , C#