DataGridView如何获取某个数据

本文详细介绍了DataGridView控件的基本操作,包括获取单元格值、选中行数、行索引及选中数据等,适用于Windows Forms应用的数据展示与交互场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DataGridView的几个基本操作:
1.获取某个(指定的)单元格的值:

dataGridView1.Row[i].Cells[j].Value;

2.获取选中的总行数:

dataGridView1.SelectedRows.Count;

3.获取当前选中行的索引:

dataGridView1.CurrentRow.Index;

4.获取当前选中单元格的值:

dataGridView1.CurrentCell.Value;

5.获取选中行的数据

string[] str = new string[dataGridView.Rows.Count];
for(int i;i<dataGridView1.Rows.Count;i++)
{
    if(dataGridView1.Rows[i].Selected == true)
    {
        str[i] = dataGridView1.Rows[i].Cells[1].Value.ToString();
    }
}

6.获取选中行的某个数据

int a = dataGridView1.SelectedRows.Index;
dataGridView1.Rows[a].Cells[index].Value;

7.获取某个(指定的)单元格的值:

dataGridView1.Rows[i].Cells[j].Value; Row[i] 

8.获取某行的索引值

int a=dataGridView1.CurrentRow.Index;

9.获取当前选中的行

selectedRows[0]

10.获取当前选择单元内容

DataGridView1.SelectedCells(0).Value.ToString 

11.获取当前选择单元第N列内容

DataGridView1.Rows(e.RowIndex).Cells(n).Value.ToString()

12.获取当前活动的单元格的行的索引

Datagridview1.CurrentCell.RowIndex

13.选中行的集合

Datagridview1.SelectedRows

14.选中列的集合

Datagridview1.SelectedColumns

15.选中单元格的集合

Datagridview1.SelectedCells

16.获取包含当前单元格的行的索引

DataGridView1.CurrentRow.Index

转载于:https://www.cnblogs.com/jizhiqiliao/p/9815764.html

### 如何在C# WinForms应用程序中从DataGridView获取用户输入的数据 在C# WinForms应用程序中,`DataGridView` 控件提供了多种方法来获取用户输入的数据。通常情况下,可以通过遍历 `DataGridView` 的行和列来读取单元格的内容。 #### 使用 Rows 和 Cells 属性获取数据 可以直接通过 `Rows` 集合以及每一行内的 `Cells` 来访问特定位置上的值: ```csharp private void GetDataFromGrid() { foreach (DataGridViewRow row in dataGridView1.Rows) { if (!row.IsNewRow) // 跳过新增加的空白行 { string column1Value = row.Cells["Column1"].Value?.ToString() ?? ""; string column2Value = row.Cells["Column2"].Value?.ToString() ?? ""; Console.WriteLine($"Column1: {column1Value}, Column2: {column2Value}"); } } } ``` 此代码片段展示了如何迭代所有非新行,并从中提取指定列名下的字符串值[^1]。 #### 处理 CellValueChanged 事件 另一种方式是监听 `CellValueChanged` 事件,在每次用户修改某个单元格之后立即响应并处理新的输入: ```csharp private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { var cell = dataGridView1[e.ColumnIndex, e.RowIndex]; object value = cell.Value; // 对应逻辑可以在此处编写,比如验证输入有效性或更新其他UI组件 } ``` 这种方法允许实时捕获用户的更改动作,并及时作出反应[^2]。 #### 将 DataGridView 数据保存到列表或其他集合 如果希望一次性收集整个表格的信息,则可考虑创建一个类表示每条记录,再利用循环将各行列映射成该类型的实例加入列表之中: ```csharp public class RecordItem { public string Field1 { get; set; } public int Field2 { get; set; } } List<RecordItem> records = new List<RecordItem>(); foreach (DataGridViewRow row in dataGridView1.Rows) { if (!row.IsNewRow) { RecordItem item = new RecordItem { Field1 = row.Cells["Field1"].Value?.ToString(), Field2 = Convert.ToInt32(row.Cells["Field2"].Value) }; records.Add(item); } } ``` 上述例子说明了怎样定义一个实体类用于存储来自 `DataGridView` 中各行的数据项,并最终形成一个包含这些项目的列表[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值