现在我右键单击右键的第一下,事件不响应,单击右键第二下才会响应第一下的单击?如何能使它右键单击也正常运行?在其他事件调用单击事件好像不行,因为  procedure TForm1.cxGrid1DBTableView1CellClick(
  Sender: TcxCustomGridTableView;
  ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
  AShift: TShiftState; var AHandled: Boolean);单击事件大部分参数无法传入。

解决方案 »

  1.   

    最重要是cxgrid中那个多层表的,第二层表无法取得选中的数据,只能靠单击或双击事件来取。在第二层表用xGrid1DbTableview1.Focused,无论怎么搞都是返回false的。
      

  2.   

    如果有两层表时
    var
      AView: TcxGridDBTableView;
    begin
      AView := TcxGridDBTableView(cxGrid1.FocusedView);
      if AView = TVGridMain{第一层的名称} then
      begin
      end else  //第二层的处理
      begin
      end;
      

  3.   

    如果要取得第二层表选中的数据
    var
        AView:   TcxGridDBTableView;
      vStr: String;
    begin
        AView   :=   TcxGridDBTableView(cxGrid1.FocusedView); 
        vStr := AView.DataController.GetDisplayText(AView.Controller.SelectedRows[0].RecordIndex,0);这样试试,应该没有问题.