C# DataGridView是一个常用的控件,它可以方便地将数据以表格的形式呈现出来。在DataGridView中,选中行是一个非常基本且常用的操作,本文将介绍如何实现C# DataGridView选中行功能。
一、选中单行
DataGridView控件中选中单行可以通过以下代码实现:
```csharp
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//设置为整行选中
dataGridView1.MultiSelect = false;//设置只能选中单行
```
上面的代码中,第一句设置DataGridView的SelectionMode为FullRowSelect模式,表示整行被选中;第二句设置MultiSelect为false,表示只能选中单行。
在DataGridView的事件中,我们可以使用以下代码获取当前选中行的数据:
```csharp
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count < 1)
{
return;
}
DataGridViewRow row = dataGridView1.SelectedRows[0];
string name = row.Cells["Name"].Value.ToString();
int age = int.Parse(row.Cells["Age"].Value.ToString());
string gender = row.Cells["Gender"].Value.ToString();
}
```
上述代码中,我们可以在DataGridView的SelectionChanged事件中获取到当前选中行的数据。首先需要判断是否存在选中行,如果不存在则返回。然后使用SelectedRows集合获取当前选中的行,由于SingleSelect属性已经设置为只能选中单行,所以SelectedRows中只会有一行数据。接下来,我们可以根据列名获取该行某个单元格的数据,然后进行需要的逻辑处理。
二、选中多行
选中多行与选中单行类似,只需要将MultiSelect属性设置为true即可。具体代码如下:
```csharp
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//设置为整行选中
dataGridView1.MultiSelect = true;//设置可以选中多行
```
获取选中行的数据也与单行类似,只需要对SelectedRows集合进行循环,获取每一行的单元格数据即可。
```csharp
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count < 1)
{
return;
}
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
string name = row.Cells["Name"].Value.ToString();
int age = int.Parse(row.Cells["Age"].Value.ToString());
string gender = row.Cells["Gender"].Value.ToString();
//处理每一行的数据
}
}
```
三、选中指定行
我们有时候需要程序在加载时就选中某一行,这时可以使用以下代码实现:
```csharp
dataGridView1.Rows[1].Selected = true;//选中第2行数据
dataGridView1.FirstDisplayedScrollingRowIndex = 1;//使第2行数据处于可见状态,如果不设置则可能滚动到了底部
```
上述代码中,我们使用Rows属性获取DataGridView中的所有行,然后通过索引方式选中指定行。选中指定行后,我们使用FirstDisplayedScrollingRowIndex将该行滚动到可见位置。
四、其他操作
除了以上操作外,我们还可以使用以下代码设置DataGridView的其他属性:
```csharp
//设置DataGridView控件某一列的宽度
dataGridView1.Columns["Name"].Width = 100;
//设置DataGridView控件某一列是否可编辑
dataGridView1.Columns["Name"].ReadOnly = true;
//设置DataGridView控件的行高
dataGridView1.RowTemplate.Height = 30;
```
以上代码中,我们可以设置DataGridView控件的某一列的宽度、是否可编辑和行高等属性。
总结:
本文介绍了如何实现C# DataGridView选中行功能,包括选中单行、选中多行、选中指定行等操作,并介绍了设置DataGridView控件属性的相关代码。在实际开发中,DataGridView是一个非常常用的控件,掌握其选中行功能将有助于提高我们的开发效率。