c#DataGridViewButtonColumn自动点击

时间:2015-04-20 06:34:03

标签: c# datagridview

我的程序中DataGridView有一个DataGridViewButtonColumn。 当用户点击该按钮时,它会在另一个面板上显示更多详细信息。

我无法尝试执行以下操作:

点击订购屏幕上的“发送”按钮,将订单发送到数据库,DataGridView将自动更新,但用户仍需要点击行上相应的列按钮查看更多细节。

我想要做的是当用户点击发送时,它会自动找到与orderID对应的行,并自动点击该按钮。

这就是我所拥有的:

  foreach(DataGridViewRow row in OutOrderListGridView.Rows){
                string compareID = row.Cells[0].Value.ToString();
                if (compareID == OrderID)
                {
                    row.Cells[10].Selected = true;  <-- here i want to performClick() on the columnbutton(cell[10]) on the specific row.
                }
            }

谢谢。

1 个答案:

答案 0 :(得分:1)

我不是100%确定我完全明白你的目标,但如果我是正确的你想要做以下事情,只要CellClick事件处理你想要最终实现的目标。

不是“执行”点击(PerformClick()),而是可以使用已知值手动引发事件...这应该对您有用,但在给定未知变量的特定应用程序中稍微未经测试。下面的代码也必须略微修改以适应。

for (int i = 0; i < OutOrderListGridView.RowCount; i++)
  {
      if (OutOrderListGridView[0, i].Value.ToString() == OrderID)
      {
          OutOrderListGridView_CellClick(OutOrderListGridView, new DataGridViewCellEventArgs(10, i));
          break;
      }
  }

foreach循环必须更改为for循环才能使用foreach循环不提供的当前索引(循环的位置)。< / p>

字符串比较不需要两个步骤,因此相应地进行了浓缩。

我还在循环中添加了break,因为我认为一旦找到匹配,迭代剩余的行就没有意义了。