我的问题是,当我单击“价格”列下的单元格时,它将仅在文本框中显示datagrid的内容,该列具有Money DataType,除ItemNo为Varchar(100)以外,其他所有类型。请帮助,谢谢
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow row = this.dataGridView1.CurrentRow;
txtDsc.Text = row.Cells["Description"].Value.ToString();
txtQty.Text = row.Cells["Qty"].Value.ToString();
txtUnt.Text = row.Cells["Unit"].Value.ToString();
txtPrc.Text = row.Cells["Price"].Value.ToString();
txtRmr.Text = row.Cells["Remarks"].Value.ToString();
}
答案 0 :(得分:0)
我不太确定为什么只在单击该单元格时才填充它?我重新创建了您的代码,它可以正常工作。我确实设法使用以下代码重新创建了它:
private void myDGV_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int row = myDGV.CurrentCell.RowIndex;
txtDsc.Text = myDGV.Row[row].Cells["Description"].Value.ToString();
txtQty.Text = myDGV.Row[row].Cells["Qty"].Value.ToString();
txtUnt.Text = myDGV.Row[row].Cells["Unit"].Value.ToString();
txtPrc.Text = myDGV.Row[row].Cells["Price"].Value.ToString();
txtRmr.Text = myDGV.Row[row].Cells["Remarks"].Value.ToString();
}
答案 1 :(得分:0)
正如另一个答案所指出的那样,代码似乎运行良好。 我怀疑该事件没有触发。尝试放入一个断点并进行调查。
我想您需要的是 CellClick ,而不是CellContentClick。 请参阅CellContentClick event doesn't always work
或者,如果您尝试基于数据网格视图上的选择显示文本框值,请使用 DataGridView.SelectionChanged 事件