请问在dbgrid中如何实现行选与编辑共存(100分)

  • 主题发起人 主题发起人 套牢1
  • 开始时间 开始时间

套牢1

Unregistered / Unconfirmed
GUEST, unregistred user!
在dbgrid中行选与编辑是排斥的,
能否实现当点到cell里时,呈现编辑状态,用户可以输入或修改
当点到左边行首时呈现行选状态,拥护可以删除整条信息;
 
dxdbgrid的例子中就有这样的代码,其实也不是设成rowselect,是设成可以多select
,然后在判断一下右击在那个位置,不知道dbgrid中能不能判断击了那个位置
hTest in [htColumn, htColumnEdge, htSummaryFooter, htGroupPanel],要不就换dxdbgrid吧
//Mouse Up的时候,判断Mouse Down位置以弹出菜单

procedure TCustomerForm.dxDBGridwater_fountainMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
p: TPoint;
hTest: TdxTreeListHitTest;
begin
if Button = mbRight then
begin
p := dxDBGridwater_fountain.ClientToScreen(Point(X, Y));
hTest := dxDBGridwater_fountain.GetHitTestInfoAt(X, Y);

if not (hTest in [htColumn, htColumnEdge, htSummaryFooter, htGroupPanel]) and
PtInRect(ClientRect, Point(X, Y)) then
begin
dxDBGridwater_fountainSelectedCountChange(nil); // update items
pmDetail.Popup(p.X, p.Y);
end
end;
end;
 
我用的是wwdbgrid,不知有没有这样的功能?
另外wwdbgrid和dxdbgrid两种间哪个好一些呢?
 
就一种grid而言,2者各有特点,很难取舍的。不过我还是认为dxdbgrid好点。可以很容易
实现分组、在summary区进行汇总等。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部