C#获取DataGridView选中行数据及更新方法
4星 · 超过85%的资源 需积分: 49 49 浏览量
更新于2024-09-15
收藏 2KB TXT 举报
"这篇文章主要介绍了如何在C#编程中获取DataGridView控件中选中行的值,包括单个单元格的值以及整个行的数据。它提供了两种方法:一种是通过SelectedCells属性获取单个单元格的值,另一种是通过CellClick事件处理程序获取整行的值并更新数据库中的数据。"
在Windows Forms应用开发中,DataGridView控件常用于展示和编辑表格数据。要获取用户在DataGridView中选中行的值,可以按照以下方法进行操作:
1. 获取单个选中单元格的值:
```csharp
// 获取选中单元格的第一个值
String str = this.dataGridView1.SelectedCells[0].Value.ToString();
```
这段代码会返回当前选中的第一列的值。如果有多行被选中,但只获取了第一行选中的单元格。
2. 获取当前活动单元格的值:
```csharp
// 获取当前活动单元格的值
string strUserName = this.dataGridView1.CurrentCell.Value.ToString();
```
CurrentCell属性提供了对当前被激活(通常由焦点指示)的单元格的访问,即使该单元格不在选中的行中。
为了获取整行的数据,可以利用DataGridView的CellClick事件:
```csharp
// DataGridView单元格点击事件处理程序
private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
// 更新日期选择器的值
dateTimePicker.Value = (DateTime)dataGridView.Rows[e.RowIndex].Cells[1].Value;
// 更新文本框的值
txtColumn1.Text = dataGridView.Rows[e.RowIndex].Cells[2].Value.ToString();
txtColumn2.Text = dataGridView.Rows[e.RowIndex].Cells[3].Value.ToString();
txtColumn3.Text = dataGridView.Rows[e.RowIndex].Cells[4].Value.ToString();
txtColumn4.Text = dataGridView.Rows[e.RowIndex].Cells[5].Value.ToString();
}
catch
{
}
}
```
当用户点击DataGridView的任何单元格时,此事件会被触发。这里假设了第二列的数据类型是DateTime,其他列的数据类型转换为字符串并显示在相应的文本框中。
此外,文章还展示了如何在用户点击按钮时更新数据库中的记录:
```csharp
// 按钮点击事件处理程序
private void updateButton_Click(object sender, EventArgs e)
{
try
{
// 获取当前选中的行索引
int index = (int)dataGridView.CurrentCell.RowIndex;
// 假设cnn是数据库连接对象,dataset1是包含表格数据的数据集,"Table1"是数据表名称
cnn.Open();
dataset1.Tables["Table1"].Rows[index]["ColumnName1"] = dateTimePicker.Value; // 更新日期字段
dataset1.Tables["Table1"].Rows[index]["ColumnName2"] = txtColumn1.Text.Trim(); // 更新文本字段
dataset1.Tables["Table1"].Rows[index]["ColumnName3"] = txtColumn2.Text.Trim(); // 更新文本字段
dataset1.Tables["Table1"].Rows[index]["ColumnName4"] = txtColumn3.Text.Trim(); // 更新文本字段
dataset1.Tables["Table1"].Rows[index]["ColumnName5"] = txtColumn4.Text.Trim(); // 更新文本字段
// 保存更改到数据库
// dataset1接受更新操作,例如:dataset1.AcceptChanges() 或者 使用DataAdapter 更新数据源
}
catch
{
}
finally
{
// 关闭数据库连接
cnn.Close();
}
}
```
在上述代码中,首先获取当前选中行的索引,然后根据索引更新数据集中对应行的字段值。最后,使用DataAdapter或直接调用dataset1.AcceptChanges()来将这些更改保存回数据库。
这篇文章详细介绍了在.NET Framework的Windows Forms应用中,如何通过C#代码从DataGridView控件中获取选中行的值,并在用户交互时更新这些值到数据库。这对于处理用户输入和表格数据的同步是非常关键的。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-09-12 上传
2023-06-09 上传
2023-03-14 上传
2020-09-07 上传
2023-06-06 上传
2023-06-07 上传
dongliyuan198911
- 粉丝: 0
- 资源: 6
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程