Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
184 views
in Technique[技术] by (71.8m points)

c# - How to get values from selected row in DataGrid for Windows Form Application?

Title is pretty self-explanatory. I've got a DataGrid for a Windows Form Application, and I want to be able to store the values of a selected row. What is the easiest way to go about doing this?

I have found this chunk of code as an example in my search, but doesn't work when the DataGrid is sorted differently:

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];
    }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Description

Assuming i understand your question.

You can get the selected row using the DataGridView.SelectedRows Collection. If your DataGridView allows only one selected, have a look at my sample.

DataGridView.SelectedRows Gets the collection of rows selected by the user.

Sample

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

More Information


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...