大家好 向大家请教一个困扰我好久的问题
希望大家能帮忙看下 谢谢了
我现在在做一个项目
其中的基础模块有一个是 对单表的数据操作
在这里使用的是 datagridview控件
然后我使用了一个 datagridview的cellclick事件
以实现一个 把选中单元格所在行各单元格的值取出来分别放在文本框内 的功能
这个是个很基本的东西 感觉大家应该都使用过
下面是我写的代码
private void tpconsume_dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
int row = tpconsume_dgv.SelectedCells[0].RowIndex;
cb_consumegroup.Text = tpconsume_dgv.Rows[row].Cells[1].Value.ToString();
cb_consumesources.Text = tpconsume_dgv.Rows[row].Cells[4].Value.ToString();
dTP_consumetime.Text = tpconsume_dgv.Rows[row].Cells[3].Value.ToString();
tb_consumeamount.Text = tpconsume_dgv.Rows[row].Cells[2].Value.ToString();
tb_consumeaddition.Text = tpconsume_dgv.Rows[row].Cells[5].Value.ToString(); }
这个功能是实现了的 没什么问题
问题是
当使用了这个功能之后 不管在什么情况下 只要我单击某一个单元格
就会自动把值传到文本框中 而在某一些情况下 我不希望在文本框中显示这些信息
也就是说 我像用编程的方式 实现对这个cellclick事件 的 禁用和激活
我想不到用什么办法可以实现
拜托各位帮我看下可以有什么方法实现吗 谢谢了
希望大家能帮忙看下 谢谢了
我现在在做一个项目
其中的基础模块有一个是 对单表的数据操作
在这里使用的是 datagridview控件
然后我使用了一个 datagridview的cellclick事件
以实现一个 把选中单元格所在行各单元格的值取出来分别放在文本框内 的功能
这个是个很基本的东西 感觉大家应该都使用过
下面是我写的代码
private void tpconsume_dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
int row = tpconsume_dgv.SelectedCells[0].RowIndex;
cb_consumegroup.Text = tpconsume_dgv.Rows[row].Cells[1].Value.ToString();
cb_consumesources.Text = tpconsume_dgv.Rows[row].Cells[4].Value.ToString();
dTP_consumetime.Text = tpconsume_dgv.Rows[row].Cells[3].Value.ToString();
tb_consumeamount.Text = tpconsume_dgv.Rows[row].Cells[2].Value.ToString();
tb_consumeaddition.Text = tpconsume_dgv.Rows[row].Cells[5].Value.ToString(); }
这个功能是实现了的 没什么问题
问题是
当使用了这个功能之后 不管在什么情况下 只要我单击某一个单元格
就会自动把值传到文本框中 而在某一些情况下 我不希望在文本框中显示这些信息
也就是说 我像用编程的方式 实现对这个cellclick事件 的 禁用和激活
我想不到用什么办法可以实现
拜托各位帮我看下可以有什么方法实现吗 谢谢了
{
if(enableCheckbox.isChecked) return;// 放个enableCheckbox在旁边 选中就禁用 int row = tpconsume_dgv.SelectedCells[0].RowIndex;
cb_consumegroup.Text = tpconsume_dgv.Rows[row].Cells[1].Value.ToString();
cb_consumesources.Text = tpconsume_dgv.Rows[row].Cells[4].Value.ToString();
dTP_consumetime.Text = tpconsume_dgv.Rows[row].Cells[3].Value.ToString();
tb_consumeamount.Text = tpconsume_dgv.Rows[row].Cells[2].Value.ToString();
tb_consumeaddition.Text = tpconsume_dgv.Rows[row].Cells[5].Value.ToString(); }
就会自动把值传到文本框中
而在某一些情况下 我不希望在文本框中显示这些信息
就是说 在我进行了某一个操作之后 我在单击datagridview中的单元格是不会再把值传到文本框中去了
当我使用了datagridview控件的cellclick事件
实现了把选中单元格所在行各单元格的值取出来分别放在文本框内 的功能
这个功能有一个问题就是
不管在什么情况下只要我单击 datagridview中某一个单元格时就会把选中单元格所在行各单元格的值取出来分别放在文本框内
但是在某一些情况下我又不需要这个功能
所以我想能不能手动的禁用 和 激活 这个功能
而我现在能想到的一个比较可行的想法是 能不能通过编程的方法 禁用和 激活这个cellclick事件
但是具体怎么实现我不知道
private void tpconsume_dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
int row = tpconsume_dgv.SelectedCells[0].RowIndex;
if(状态值0/1){
cb_consumegroup.Text = tpconsume_dgv.Rows[row].Cells[1].Value.ToString();
}
cb_consumesources.Text = tpconsume_dgv.Rows[row].Cells[4].Value.ToString();
dTP_consumetime.Text = tpconsume_dgv.Rows[row].Cells[3].Value.ToString();
tb_consumeamount.Text = tpconsume_dgv.Rows[row].Cells[2].Value.ToString();
tb_consumeaddition.Text = tpconsume_dgv.Rows[row].Cells[5].Value.ToString();
}