C#datagridview选中整行
时间: 2023-08-30 11:07:35 浏览: 30
在 C# 中使用 DataGridView 控件时,可以使用 SelectedRows 属性来获取选中的行。示例代码如下:
```
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
Console.WriteLine(row.Cells[0].Value.ToString());
}
```
这段代码将遍历所有选中的行,并输出每行的第一列的值。
另外还可以使用下面的方法来获取选中的单行
```
DataGridViewRow selectedRow = dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex];
```
这段代码将获取单行的选中的单元格的行索引对应的行。
相关问题
c# datagridview合并整行
您可以使用以下代码来合并一个 DataGridView 的整行:
```csharp
private void MergeRow(DataGridView dataGridView, int rowIndex)
{
string previousValue = dataGridView[0, rowIndex].Value.ToString();
for (int i = 1; i < dataGridView.Columns.Count; i++)
{
DataGridViewCell cell = dataGridView[i, rowIndex];
if (cell.Value.ToString() == previousValue)
{
cell.Style.BackColor = Color.White;
cell.Style.ForeColor = Color.Black;
cell.Value = "";
}
else
{
previousValue = cell.Value.ToString();
}
}
}
```
您可以将此方法绑定到一个按钮的 Click 事件上,以便在需要时调用它。例如:
```csharp
private void btnMergeRow_Click(object sender, EventArgs e)
{
MergeRow(dataGridView1, 0); // 合并第一行
}
```
请注意,这个方法假设第一列是合并的依据。如果您想要根据其他列来合并行,请相应地修改代码。
c# datagridview合并整行并且去掉单元格边框文字居中
您可以使用以下代码来合并 DataGridView 的整行并去掉单元格边框、文字居中:
```csharp
private void MergeRow(DataGridView dataGridView, int rowIndex)
{
string previousValue = dataGridView[0, rowIndex].Value.ToString();
for (int i = 1; i < dataGridView.Columns.Count; i++)
{
DataGridViewCell cell = dataGridView[i, rowIndex];
if (cell.Value.ToString() == previousValue)
{
cell.Style.BackColor = Color.White;
cell.Style.ForeColor = Color.Black;
cell.Style.SelectionBackColor = Color.White;
cell.Style.SelectionForeColor = Color.Black;
cell.Style.Padding = new Padding(0, 0, dataGridView.RowHeadersWidth, 0);
cell.Value = "";
cell.ReadOnly = true;
cell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
cell.Style.Font = new Font(dataGridView.DefaultCellStyle.Font, FontStyle.Bold);
dataGridView.Rows[rowIndex].Cells[0].Style.BackColor = Color.White;
}
else
{
previousValue = cell.Value.ToString();
}
}
}
```
同样地,您可以将此方法绑定到一个按钮的 Click 事件上,以便在需要时调用它。例如:
```csharp
private void btnMergeRow_Click(object sender, EventArgs e)
{
MergeRow(dataGridView1, 0); // 合并第一行
}
```
请注意,这个方法假设第一列是合并的依据。如果您想要根据其他列来合并行,请相应地修改代码。
相关推荐














