c# DataGridViewButtonColumn 自动点击

c# DataGridViewButtonColumn auto click

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

我在尝试执行以下操作时遇到问题:

点击下单界面的"send"按钮,将订单发送至数据库,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.
                }
            }

谢谢。

我不是 100% 确定我完全理解您的需求,但如果我是正确的,您希望执行以下操作,前提是 CellClick 事件正在处理您想要最终实现的目标。

而不是 'performing' 单击 ( 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 循环不提供的当前索引(循环的位置) .

字符串比较不需要分两步进行,因此进行了相应的压缩。

我还在循环中添加了一个 break,因为我认为一旦找到匹配项,遍历其余行将毫无意义。