首先,我们需要清楚的认识到DataGridView是C#中常用的控件之一。它可以实现数据的显示和编辑,同时还可以进行排序和筛选等操作。在实现这些操作中,获取选中行数据是一个非常重要的步骤。
使用DataGridView的SelectedRows属性获取选中行数据
DataGridView控件中提供了一个SelectedRows属性,通过这个属性我们可以方便地获取选中行的数据。使用方法也非常简单,只需要在操作DataGridView时,判断SelectedRows属性中是否存在选中行,如果存在,则遍历选中行进行数据操作。
下面是一个简单的代码示例:
```csharp private void btnDelete_Click(object sender, EventArgs e) { if (dgvData.SelectedRows.Count > 0) { foreach (DataGridViewRow row in dgvData.SelectedRows) { int rowIndex = row.Index; // TODO: 进行数据操作,以rowIndex为索引获取数据 } } } ```使用DataGridView的CurrentRow属性获取当前行数据
除了使用SelectedRows属性获取选中行数据外,DataGridView还提供了CurrentRow属性用于获取当前行的数据。和SelectedRows属性类似,使用方法也非常简单,只需要先选中一行,然后通过CurrentRow属性获取当前行数据即可。
代码示例:
```csharp private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { DataGridViewRow row = dgvData.Rows[e.RowIndex]; // TODO: 获取row对象中的数据进行操作 } } ```使用DataGridView的Tag属性存储行数据
DataGridView中每行都有一个Tag属性,可以用于存储行数据,这样就可以方便地在DataGridView中进行数据展示和编辑了。具体使用方法也非常简单,只需要在向DataGridView中添加数据时,将每一行数据存储到Tag属性中即可。
代码示例:
```csharp private void BindDataToDgv() { DataTable dt = GetDataFromDb(); dgvData.Rows.Clear(); foreach (DataRow dr in dt.Rows) { DataGridViewRow row = new DataGridViewRow(); row.CreateCells(dgvData); row.Cells[0].Value = dr[\"id\"]; row.Cells[1].Value = dr[\"name\"]; row.Cells[2].Value = dr[\"age\"]; // 存储数据到Tag属性中 row.Tag = dr; dgvData.Rows.Add(row); } } ```以上就是三种获取DataGridView选中行数据的方法,根据实际需求选择合适的方法使用即可。同时,在进行DataGridView数据操作时,我们也需要注意对数据的合法性进行验证,避免出现不必要的错误。
文章来自互联网,只做分享使用。发布者:苇叶生活,转转请注明出处:https://www.weiyetrade.com/shmz/20147.html