C#从DataGridView动态获取数据

C#从DataGridView动态获取数据,c#,datagridview,C#,Datagridview,我试图让我的当前程序从动态创建的DataGridView获取信息。我已经设法将信息放入网格,并执行所需的搜索,但现在我真的被卡住了 我在datagridview中添加了一列,每行中都有一个按钮。我想做的是从列索引1中获取数据值,它与单击的按钮位于同一行。困惑?不管怎样,代码如下: public void GetValues(...) { //Details regarding connection, querying and inserting tabl

我试图让我的当前程序从动态创建的DataGridView获取信息。我已经设法将信息放入网格,并执行所需的搜索,但现在我真的被卡住了

我在datagridview中添加了一列,每行中都有一个按钮。我想做的是从列索引1中获取数据值,它与单击的按钮位于同一行。困惑?不管怎样,代码如下:

        public void GetValues(...)
    {


       //Details regarding connection, querying and inserting table
       .
       .
       .

        DataGridViewButtonColumn buttonCol = new DataGridViewButtonColumn();
        buttonCol.Name = "ButtonColumn";
        buttonCol.HeaderText = "Select";
        buttonCol.Text = "Edit";
        //NB: the text won't show up on the button. Any help there either?

        dataGridView1.Columns.Add(buttonCol);
        dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            DataGridViewButtonCell button = (row.Cells["ButtonColumn"] as DataGridViewButtonCell);

        }
        dataGridView1.Columns["ButtonColumn"].DisplayIndex = 0;


    }


        void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Here is where I'm having the trouble. What do I put in here???
        }
谢谢你能给我的帮助


David。

您的DataGridViewCellEventArgs包含非常有用的信息,如RowIndex

比如(我不知道你想用这个值做什么):

`


`

非常感谢,非常有帮助!非常深入-只是想知道“Bool val”变量的作用是什么?
String dataYouWant = dataGridView1.Rows[e.RowIndex].Cells[1].Value;
 if (e.ColumnIndex != button_column_number) //column number of the button.
                    return;
                dataGridView1.EndEdit();
                bool val;
                if ((dataGridView1.Rows[e.RowIndex].Cells[1].Value) != null) // column index 1...as that's what you want.
                {
                   //d stuff you want here.
                }
                else
                {
                }