private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0)
return;
string id, name, price, desc, quan;
id = dgvWarp.Rows[e.RowIndex].Cells[0].Value + "";
name = dgvWarp.Rows[e.RowIndex].Cells[1].Value + "";
price = dgvWarp.Rows[e.RowIndex].Cells[2].Value + "";
desc = dgvWarp.Rows[e.RowIndex].Cells[3].Value + "";
// quan = dgvWarp.Rows[e.RowIndex].Cells[4].Value + "";
label2.Text = id;
label3.Text = name;
label4.Text = price;
label5.Text = desc;
}
这是我的单元格点击事件处理程序代码。但这个代码没有被触发我需要。实际上我希望datagridview单元格值自动传递给标签。如果我在某些单元格中输入值只传递数据到标签保持空白,如果我输入所有单元格都显示所有标签
只有第1行显示值,如果我输入第1列第2行单元格(test2),则会显示 test2代替test1。 这是我的问题
答案 0 :(得分:0)
根据行和列索引给出标签名称。即。 lblRow0Col0, lblRow0Col1, lblRow1Col2
等。
然后在CellValidating Event
中编写以下代码private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
String lblName = String.Format("lblRow{0}Col{1}", e.RowIndex, e.ColumnIndex);
Label lbl = (TextBox)this.Controls[lblName];
lbl.Text = e.FormattedValue.ToString();
}