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

问题描述 投票:0回答:4

标题非常不言自明。我有一个用于 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];
    }
c# winforms
4个回答
39
投票

描述

假设我理解你的问题。

您可以使用

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

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

样品

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

更多信息


5
投票

你可以使用

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

0
投票

对于多项选择使用:

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

0
投票
 var data = DataGridView.SelectedRows;

 foreach (DataGridViewRow item in data)
 {
     var DataRows = item.DataBoundItem as Usuarios;
 }
© www.soinside.com 2019 - 2024. All rights reserved.