WinForm中给DataGridView绑定datatable

//从数据库读出datatable放在addTenMinOilInfo 中,
DataTable addTenMinOilInfo = Invoice.Dal.DataGrid.GetDataGridView(tenMinAgo, now);
//绑定数据源
BindingSource bs = new BindingSource();
bs.DataSource = addTenMinOilInfo;
//给DataGridViewInputOil控件绑定数据源bs;

DataGridViewInputOil.DataSource = bs;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Winform ,可以通过以下步骤将 DataGridView 修改的内容提交到绑定DataTable : 1. 在 DataGridView 添加 CellValueChanged 事件的处理程序,该事件会在单元格的值发生改变时触发。 2. 在 CellValueChanged 事件处理程序,获取修改后的单元格的值和列名。 3. 使用 Rows 属性获取 DataGridView 所有行的集合,遍历每一行,使用 Cells 属性获取该行指定列的单元格,通过比较单元格的列名和修改后的列名,确定要修改的单元格。 4. 使用 DataTable 的 Rows 属性获取所有行的集合,遍历每一行,通过比较每行的主键值来确定要修改的行。 5. 修改 DataTable 的对应单元格的值。 6. 调用 DataTable 的 AcceptChanges 方法,提交修改。 下面是示例代码: ```csharp private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) // 判断修改的是单元格而不是行或列标题 { string columnName = dataGridView1.Columns[e.ColumnIndex].Name; string cellValue = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); foreach (DataRow row in dataTable1.Rows) { if (row.RowState != DataRowState.Deleted && row.RowState != DataRowState.Detached) // 排除已删除或脱离 DataTable 的行 { if (row[columnName].ToString() == cellValue) // 找到要修改的单元格 { row[columnName] = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; // 修改 DataTable 的对应单元格的值 break; } } } dataTable1.AcceptChanges(); // 提交修改 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值