日期:2014-05-17  浏览次数:21227 次

【求助】DataGridView列绑定dataTable列后显示不出具体数据
本帖最后由 weiyu523 于 2013-12-19 16:01:16 编辑
最近学习DataGridView列绑定数据时遇到些问题,特来请教下各位达人

通过以下方法在DGV上添加一列:
        void AddOneViewColumn(string header)
        {
            DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();
            dgvc.HeaderText = header;
            dgvc.ReadOnly = true;
            this.dataGridView1.Columns.Add(dgvc);
        }


通过DGV的dataSource指定一个dataTable做数据源:
this.dataGridView1.DataSource = rs.DtRecord;


通过以下方法指定绑定dataTable中的列到DGV:
        void DataBind(string cName,string property)
        {
            if (this.dataGridView1.DataSource == null)
                MessageBox.Show("未绑定数据源");
            this.dataGridView1.Columns[cName].DataPropertyName = property;
        }


具体绑定操作:
        private void Form1_Load(object sender, EventArgs e)
        {
            this.dataGridView1.DataSource = rs.DtRecord;
            DataBind("AAA", "A");
            DataBind("BBB", "B");
            DataBind("CCC", "C");
            DataBind("DDD", "D");
            DataBind("EEE", "E");

        }


显示的结果是这样的:


但是监控添加row到dataTable的过程,确实产生了数据:


补充说明:
dataTable中的列是不带type的,dataTable添加列代码如下:
(带不带typeof都显示不出来,原来是带typeof的)
      void InitDT()
        {
            DataColumn dc=new DataColumn("ID");
            dc.AutoIncrement = true;
            dc.AutoIncrementSeed = 1;
            dc.AutoIncrementStep = 1;
            dtRecord.Columns.Add(dc);

        &nb