我在windows窗体中有一个datagridview和textbox,当我点击datagridview的一个单元格时,该值必须复制到文本框。
我收到错误:
System.Windows.Forms.DataGridCell不包含RowIndex的定义
我试过这段代码
void dataGridView1_Click(object sender, EventArgs e)
{
Txt_GangApproved.Text=dataGridView1.CurrentCell.RowIndex.Cells["NO_OF_GANGS_RQRD"].Value.ToString();
}
答案 0 :(得分:2)
foreach (DataGridViewRow RW in dataGridView1.SelectedRows) {
//Send the first cell value into textbox'
Txt_GangApproved.Text = RW.Cells(0).Value.ToString;
}
答案 1 :(得分:2)
试试这个 -
Txt_GangApproved.Text = dataGridView1.SelectedRows[0].Cells["NO_OF_GANGS_RQRD"].Value.ToString();
答案 2 :(得分:1)
您正在使用错误的事件来实现您想要的目标。而不是使用单击事件使用dataGridView1的 CellClick 事件并尝试以下代码:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(e.RowIndex >= 0 && e.ColumnIndex >= 0) //to disable the row and column headers
{
Txt_GangApproved.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
}
答案 3 :(得分:0)
有时当我的DataGridView将其选择模式设置为FullRowSelect时,我会使用 SelectionChanged 事件。然后我们可以在事件中写一行,如:
Txt_GangApproved.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["NO_OF_GANGS_RQRD"].Value);
答案 4 :(得分:0)
private void dataGRidView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
string text = row.Cells[dataGridView1.CurrentCell.ColumnIndex].Value.ToString();
}
}
答案 5 :(得分:0)
这是100%正常工作的代码(使用-CellClick-事件处理程序):
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox1.Text = dataGridView1.CurrentCell.Value.ToString();
}