问题是这样的:
     我设置CXGRID按回车时切换焦点到下一单元格(等同TAB键盘),并且焦点移动最后一列时,自动新增一行,并且焦点移到新行;这个很好,但时当滚动鼠标轮子的时候也会自动新增行, 我想限制滚动轮子的时候只浏览,不自动新增行;
    
    请问有什么简单的方法可以解决?非常个感谢!

解决方案 »

  1.   

    为什么你的cxgrid会出现,滚动轮子会新增记录,我的就没有。你可以说一下你的具体设置。
      

  2.   

    OptionsData->Appending 设为False
    给分吧
      

  3.   

    zytools同学,这个属性我需要啊,当焦点在最好一列时,按回车时,要新增行,这个特性我需要保留;如果设为false,就不能增加了;我的意思是,鼠标轮子滚动时只不增加行;
      

  4.   

    wxsan:家里的电脑没装CXGRID,明天告诉你具体的设置。
      

  5.   

    KeyDown事件中:
    cxGrid1DBBandedTableView1KeyDown(Sender: TObject;
      var Key: Word; Shift: TShiftState);
    begin
    if Shift=ssMiddle then 
      OptionsData->Appending 设为False
    end;再在KeyUp事件中:
    cxGrid1DBBandedTableView1KeyUp(Sender: TObject;
      var Key: Word; Shift: TShiftState);
    begin
    if Shift=ssMiddle then 
      OptionsData->Appending 设为True
    end;
    没测试,但思路是这样的
      

  6.   

    前些天忙别的去了,我试了, 
    zytools 这个方法不行,帮忙出出主意!
      

  7.   

    最好就对数据源设置为ReadOnly=True;
      

  8.   

    procedure TForm1.cxGrid1TableView1MouseWheel(Sender: TObject;
      Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
      var Handled: Boolean);
    begin
      Handled:=True;
    end;procedure TForm1.cxGrid1TableView1MouseWheelDown(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
    begin
      Handled:=True;
    end;procedure TForm1.cxGrid1TableView1MouseWheelUp(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
    begin
      Handled:=True;
    end;
      

  9.   

    问题已经解决了,谢谢各位,谢谢iamduo,让我学到了你这几行代码的作用。我用另外一种方法,思路是这样的:1 appending设置为FALSE2 在KEYDOWN和EDITKEYDOWN事件中判断是否按下回车,并且最后一行,最后一列,然后把APPENDING设置为TRUE再次感谢大家的帮助!