datagridview 动态添加行 往DataTable 里加dt.Rows.Add(dt.NewRow()); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 datagridview本身就是可以编辑的控件,最后一行就有一个*号,就可以编辑了。例如数据表有3条记录,显示在DataGridView控件会有4行,第4行前面有*号,你编辑后,必须要编码实现更新。修改、添加、删除都需要有,这是一个例子: SqlConnection sqlConn = new SqlConnection("data source=(local); initial catalog=JWInfo; integrated security=SSPI"); SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn); sqlDa = new SqlDataAdapter(selCmd); SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa); sqlDa.Fill(sqlDs, "学生信息"); DataGridView1.DataSource = sqlDs.Tables("学生信息");更新逻辑: sqlDsChanged = sqlDs.GetChanges(); if ((sqlDsChanged != null)) { sqlDa.Update(sqlDs, "学生信息"); sqlDs.AcceptChanges(); if ((Op == OpType.Add)) { MessageBox.Show("记录添加成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information); } else if ((Op == OpType.Update)) { MessageBox.Show("记录更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information); } } 一样的道理!你动态生成的,也是要创建DataTable,为DataTable动态添加列,然后才能添加行。最后将datagridview绑定到datatable上。这种情况下,你在datagridview中编辑数据后。可以调用DataTable.AcceptChange() for (int j = 0; j < dt.Rows.Count; j++) { DataRow dr = dt.Rows[j]; for (int h = 0; h < dt.Columns.Count; h++) { DataGridViewColumn dtColumn = new DataGridViewColumn(); dtColumn.Name = dr[h].ToString(); gridHouse.Rows.Add(dtColumn); } 同时出多个查询结果的代码优化 C#写的exe,调用了C++的dll,C++一有异常,进程就退出。如何把c#程序做的健壮些?高手请进~~~ winform 连续运行三天 出错 .net 2.0 网站调用com出现问题,求助!! Asp.Net验证控件问题(急救!!!) 如何获得对IE的控制 求帮助,进制转换的问题 C#调用DLL的疑问。 组件变程 C#注册码在哪儿能找到? c# 打包时的奇怪问题 datagridview 底部汇总 c# winform
例如数据表有3条记录,显示在DataGridView控件会有4行,第4行前面有*号,你编辑后,必须要编码实现更新。
修改、添加、删除都需要有,这是一个例子: SqlConnection sqlConn = new SqlConnection("data source=(local); initial catalog=JWInfo; integrated security=SSPI");
SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn);
sqlDa = new SqlDataAdapter(selCmd);
SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa);
sqlDa.Fill(sqlDs, "学生信息");
DataGridView1.DataSource = sqlDs.Tables("学生信息");更新逻辑: sqlDsChanged = sqlDs.GetChanges();
if ((sqlDsChanged != null)) {
sqlDa.Update(sqlDs, "学生信息");
sqlDs.AcceptChanges();
if ((Op == OpType.Add)) {
MessageBox.Show("记录添加成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if ((Op == OpType.Update)) {
MessageBox.Show("记录更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
你动态生成的,也是要创建DataTable,为DataTable动态添加列,然后才能添加行。
最后将datagridview绑定到datatable上。这种情况下,你在datagridview中编辑数据后。
可以调用DataTable.AcceptChange()
{
DataRow dr = dt.Rows[j];
for (int h = 0; h < dt.Columns.Count; h++)
{
DataGridViewColumn dtColumn = new DataGridViewColumn();
dtColumn.Name = dr[h].ToString();
gridHouse.Rows.Add(dtColumn);
}