当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,