代码如下
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出问题了?

解决方案 »

  1.   


    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; }
            }
        }
      

  2.   

    成功了、、、但是为什么呢?是不是不自己写get和set的话,他算字段不算属性?貌似这个控件找数据是找这个get,有了get没set也能显示出来