如何从Windows窗体应用程序的DataGrid中的选定行获取值

本文关键字:获取 DataGrid Windows 窗体 应用程序 | 更新日期: 2023-09-27 18:21:38

标题非常不言自明。我有一个用于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];
    }

如何从Windows窗体应用程序的DataGrid中的选定行获取值

描述

假设我理解你的问题。

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

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

样品

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

更多信息

  • MSDN-DataGridView.SelectedRows属性

您可以使用

DataGridView1.CurrentRow.Cells["ColumnName"].Value

用于多种选择:

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    // your code        
}