在WinForm应用程序中,DataGridView控件是一个强大的工具,它能够使用表格和列表的形式显示和编辑各种数据。使用DataGridView控件,您可以轻松地添加、修改或删除数据行。本文将介绍如何使用DataGridView选中行并实现数据操作。
一、如何使用DataGridView选中行
DataGridView控件的SelectedRows属性可以让我们轻松地选中一行或多行。下面的例子展示了如何选中DataGridView中的一行:
```csharp
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
row.Selected = true;
}
}
```
在这个例子中,我们使用DataGridView.CellClick事件来处理单元格单击事件。如果单击的单元格位于DataGridView中的有效行上,则选中该行。
为了删除选定行,我们需要首先检查SelectedRows属性是否包含任何行。如果SelectedRows.Count属性为0,则没有选定任何行。否则,我们可以循环遍历选定的行并将其从DataGridView.Rows集合中删除。下面演示了如何删除选定的行:
```csharp
private void btnDelete_Click(object sender, EventArgs e)
{
if (this.dataGridView1.SelectedRows.Count > 0)
{
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
this.dataGridView1.Rows.RemoveAt(row.Index);
}
}
}
```
以上是使用SelectedRows属性选中行的基本过程。接下来,我们将介绍如何结合实际数据操作使用SelectedRows属性。
二、如何利用DataGridView选中行实现数据操作
DataGridView控件是在内存中保存的。如果您需要在应用程序重新启动时保存数据,则需要使用文件或数据库等外部存储。下面我们将介绍如何使用DataGridView选中行在内存中保存数据。
1. 追加数据行
添加新数据行时,我们需要先创建一个DataGridViewRow对象并将其添加到DataGridView.Rows集合中。下面是一个示例:
```csharp
private void btnAdd_Click(object sender, EventArgs e)
{
DataGridViewRow row = new DataGridViewRow();
row.CreateCells(this.dataGridView1);
row.Cells[0].Value = "A";
row.Cells[1].Value = "B";
row.Cells[2].Value = "C";
this.dataGridView1.Rows.Add(row);
}
```
首先,我们创建一个空的DataGridViewRow对象。使用CreateCells()方法初始化行中的单元格。然后,我们将值分配给第一、第二和第三列,并使用DataGridView.Rows.Add()方法将行添加到DataGridView.Rows集合中。
2. 修改数据行
修改数据行时,我们需要获取选定行上的单元格中的值。下面是一个示例:
```csharp
private void btnUpdate_Click(object sender, EventArgs e)
{
if (this.dataGridView1.SelectedRows.Count > 0)
{
DataGridViewRow row = this.dataGridView1.SelectedRows[0];
row.Cells[0].Value = "X";
row.Cells[1].Value = "Y";
row.Cells[2].Value = "Z";
}
}
```
首先,我们检查是否选定了任何行。如果SelectedRows.Count属性大于0,则获取选定行的第一行和第二行的单元格并更新它们的值。
3. 删除数据行
删除数据行时,我们需要删除选定的行。下面是一个示例:
```csharp
private void btnDelete_Click(object sender, EventArgs e)
{
if (this.dataGridView1.SelectedRows.Count > 0)
{
foreach (DataGridViewRow row in this.dataGridView1.SelectedRows)
{
this.dataGridView1.Rows.RemoveAt(row.Index);
}
}
}
```
这个代码片段与上面的代码片段非常类似,但是与每个选定的行相关联的DataGridViewRow对象被从DataGridView.Rows集合中删除。
小结
以上就是如何使用DataGridView选中行并实现数据操作的完整过程。首先,我们使用SelectedRows属性选中一行或多行。然后,我们使用DataGridView.Rows集合的方法和属性添加、修改或删除数据行。理解这种基本的DataGridView操作将使您在开发WinForm应用程序时更加自如。