获取GridView行的单元格值

Lil*_*ily 12 c# gridview winforms

我正在使用GridView - AutoGenerateSelectButton = "True"选择行以获取Column 1单元格值.

我试过了:

GridViewRow row = dgCustomer.SelectedRow;
TextBox1.Text = "Cell Value" + row.Cells[1].Text + "";
Run Code Online (Sandbox Code Playgroud)

它写的是"细胞价值",但没有别的.

我终于能够获得行数(索引)而不是单元格值.

GridViewRow row = dgCustomer.SelectedRow;
TextBox1.Text = row.RowIndex.ToString();
Run Code Online (Sandbox Code Playgroud)

我试过了:

TextBox1.Text = dgCustomer.Rows[row.RowIndex].Cells[1].Text;
Run Code Online (Sandbox Code Playgroud)

并仍然返回索引行.

还有其他建议吗?谢谢!

Den*_*s R 17

尝试将代码更改为

// Get the currently selected row using the SelectedRow property.
GridViewRow row = dgCustomer.SelectedRow;

// And you respective cell's value
TextBox1.Text = row.Cells[1].Text
Run Code Online (Sandbox Code Playgroud)

更新:(基于我的评论)如果您要获取的所有内容都是所选行的主键值,那么另一种方法是设置

datakeynames="yourprimarykey"

对于gridview定义,可以从后面的代码访问,如下所示.

TextBox1.Text = CustomersGridView.SelectedValue.ToString();
Run Code Online (Sandbox Code Playgroud)


Nic*_*rts 6

Windows窗体迭代技术

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    if (row.Selected)
    {
        foreach (DataGridViewCell cell in row.Cells)
        {
            int index = cell.ColumnIndex;
            if (index == 0)
            {
                value = cell.Value.ToString();
                //do what you want with the value
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个Window的表单响应,而不是ASP.net,它就是Gridview (2认同)