【发布时间】:2012-06-15 16:22:01
【问题描述】:
我有一个 Windows 窗体中的 DataGridView。我为这个 DataGridView dgv 定义了 5 列。
存储过程返回的数据表绑定了这个DataGridView。
DataTable table1 = returned by a stored procedure in C#;
dgv.DataSource = table1;
dgv.AutoGenerateColumns = false;
dgv = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
然后在另一个按钮事件中。我想重新绑定DataGridView一个数据源。
DataTable dt1 = new DataTable();
然后
DataRow dr = dt1.NewRow();
dr["Interval"] = txtBox1.Text;
dr["Count"] = txtBox2.Text;
dr["AgeBegin"] = txtBox3.Text;
dr["AgeEnd"] = txtBox4.Text;
dr["Gender"] = txtBox5.Text;
dt1.Rows.Add(dr);
dgv.DataSource = dt1;
dt1 只有一行。现在 dgv 显示 10 列。前 5 列为空,后 5 列为真实数据。
为什么?谢谢。
【问题讨论】:
-
这些列的标题是什么?它们与您的标题匹配吗?
-
尝试设置 DataPropertyName
-
@K'Leg,列相同,但标题略有不同。
-
"dgv = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;"此行无法编译。
-
我已经对此进行了测试,并且完全按照您正在做的事情做我无法复制问题,我什至删除了自动生成列,但我仍然只得到 5 个。您是否在 datagridview 中预定义了列?我建议将其留空以开始并允许自动生成列,至少在您找出缺陷之前
标签: c# winforms datagridview