使用DataSet和DataGridView时手动插入数据的问题!
问题:
手动的方式往DataSet中插入的数据,无法在DataGridView中显示出来
程序的目的只是想尝试通过手动控制DataSet数据源,来更新控件中的显示
目前使用方法:
1。添加DataSet和DataGridView控件到一个WinForm上
2。在WinForm的load事件中添加如下过程
//确定dataGridView1的数据源
dataGridView1.DataSource = this.dataSet1;
//创建DataSet的模式
DataTable my_table = new DataTable();
DataColumn my_column;
my_column = new DataColumn();
my_column.DataType = System.Type.GetType( "System.String ");
my_column.Caption = "name ";
my_column.ColumnName = "cname ";
my_table.Columns.Add(my_column);
my_column = new DataColumn();
my_column.DataType = System.Type.GetType( "System.Int32 ");
my_column.Caption = "age ";
my_column.ColumnName = "cage ";
my_table.Columns.Add(my_column);
DataRow my_row = my_table.NewRow();
my_row[ "cname "] = "abc ";
my_row[ "cage "] = 24;
my_table.Rows.Add(my_row);
my_table.AcceptChanges();
dataSet1.Tables.Add(my_table);
dataSet1.AcceptChanges();
//创建DataGridView的模式
System.Windows.Forms.DataGridViewTextBoxColumn Column1,Column2;
Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
Column1.DataPropertyName = "cname ";
Column1.HeaderText = "Column1 ";
Column1.Name = "Column1 ";
Column1.ReadOnly = true;
Column1.Visible = true;
Column1.DataPropertyName = "cage ";
Column1.HeaderText = "Column1 ";
Column1.Name = "Column1 ";
Column1.ReadOnly = true;
Column1.Visible = true;
dataGridView1.AutoGenerateColumns = false;
dataGridView1.ColumnHeadersHeightSizeMode =
System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
Column1,
Column2});
dataGridView1.Update();
为什么dataGridView1里边什么数据也没有显示呢? dataSet1 里边不是有数据吗?
是不是更新机制的问题呢?我查了半天MSDN ,也没有发现问题的所在!
劳烦各位,帮忙看一下,先谢过了~
------解决方案--------------------我觉得,如果你把DATASET换成有数据的DataTable就好了
因为一个VIEW只能显示一个DataTable。
DATASET是多个DataTable在一起。
dataGridView1.DataSource = this.dataSet1.Table[0];