如何从DataGrid for Windows Form Application中的选定行获取值?

标题非常明显。 我有一个Windows窗体应用程序的DataGrid,我希望能够存储所选行的值。 这样做最简单的方法是什么?

我在搜索中发现这段代码作为示例,但在DataGrid的排序方式不同时不起作用:

private void grdPatients_CurrentCellChanged(object sender, EventArgs e) { int row = grdPatients.CurrentRowIndex; grdPatients.Select(row); ArrayList arrayList = new ArrayList(); for (int i = 0; i < 3; i++) { arrayList.Insert(i, (patientsDS.Tables["PatientList"].Rows[row].ItemArray.GetValue(i))); } textBox1.Text = "" + arrayList[0]; textBox2.Text = "" + arrayList[1]; textBox3.Text = "" + arrayList[2]; } 

描述

假设我理解你的问题。

您可以使用DataGridView.SelectedRows集合获取所选行。 如果您的DataGridView只允许选择一个,请查看我的示例。

DataGridView.SelectedRows获取用户选择的行集合。

样品

 if (dataGridView1.SelectedRows.Count != 0) { DataGridViewRow row = this.dataGridView1.SelectedRows[0]; row.Cells["ColumnName"].Value } 

更多信息

  • MSDN – DataGridView.SelectedRows属性