问题描述
||
我想知道如何检查是否选择了gridview的行。
我正在Windows应用程序上工作。
我想放置一个if条件,即如果选择了特定的行,则用相应的单元格值填充文本框。
我只是没有办法在if子句中给出条件。
解决方法
处理DataGridView.SelectionChanged事件。使用DataGridView.SelectedRows属性获取选定的行集合。
private void dataGridView_SelectionChanged(object sender,EventArgs e)
{
// Update the text of TextBox controls.
textBox1.Text = dataGridView.SelectedRows[0].Cells[1].Value.ToString();
textBox2.Text = dataGridView.SelectedRows[0].Cells[2].Value.ToString();
....
}
, 检查DataGridViewRow.Selected属性。
if (dataGridView.Rows[rowIndex].Selected)
{
// Do something ..
}
, 检查DataGridViewRow
的选定属性,返回true
表示选定的false
。
bool isSelected = dataGridView1.Rows[e.RowIndex].Selected;
, 您可以订阅控件的SelectionChanged事件,并在启用多选的情况下遍历每个选定的行,如果仅是单行选择,则仅迭代第一个。
private void MyGridView_SelectionChanged(object sender,EventArgs e)
{
for (int i = 0; i < MyGridView.SelectedRows.Count; i++)
{
MyTextBox.Text = MyGridView.SelectedRows[i].Cells[0].Value.ToString(); //assuming column 0 is the cell you\'re looking for
// do your other stuff
}
}
可以在SelectedRows属性上找到更多信息。