分享一下ExpressQuantumGrid4的cxGrid的一些使用方法,和经验。欢迎使用过cxGrid的人来灌水。 (1分)

  • 主题发起人 wangxian11
  • 开始时间
是啊,看了帮助文件如果能解决这些问题我就不会到这里来问了。

我看的是它的自带的英文帮助,TT8的中文教程只是将它的一部分翻译了一下,没有很深入

下去。
 
好,向楼主致敬!!!!!!!!!!!!!!
 
:) 谢谢鼓励
 
不知道怎么给你分啊,
 
这还不简单,开一张新的帖子,我进去说句话,就可以给我分数啦,哈哈

干吗给我分啊?我这里帮你解决问题了吗?
 
15)怎样使鼠标移动时,相应的单元格里的文字变色?
解决:
var
FTrackItem: TcxCustomGridTableItem;
FTrackRec: TcxCustomGridRecord;

procedure TForm1.cxGrid1DBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (AViewInfo.GridRecord = FTrackRec) and (AViewInfo.Item = FTrackItem) then
begin
ACanvas.Font.Color := clred; //红色字体
ACanvas.Font.Style := [fsUnderline];//带下划线
end;
end;

procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
AHitTest: TcxCustomGridHitTest;
ATrackItem: TcxCustomGridTableItem;
ATrackRec: TcxCustomGridRecord;
begin
ATrackItem := FTrackItem;
ATrackRec := FTrackRec;

AHitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);
if AHitTest is TcxGridRecordCellHitTest then
begin
FTrackItem := TcxGridRecordCellHitTest(AHitTest).Item;
FTrackRec := TcxGridRecordCellHitTest(AHitTest).GridRecord;
end
else
begin
FTrackItem := nil;
FTrackRec := nil;
end;

if (ATrackItem <> FTrackItem) or (ATrackRec <> FTrackRec) then
begin
// Invalidate old cell
if ATrackRec <> nil then
ATrackRec.Invalidate(ATrackItem);
// Invalidate new cell
if FTrackRec <> nil then
FTrackRec.Invalidate(FTrackItem);
end;
end;

 
16)怎样设计多表头的cxGrid?
解决:cxGrid可以解决如下的表头:
---------------------------------
| 说明1 | 说明2 |
---------------------------------
| 字段1 | 字段2 | 字段3 | 字段4 |
| 字段5 | 字段6 |
| 字段7 | 字段8 | 字段9 |
实现这个很简单,你可以直接在上面拖动字段名,拖动时会显示箭头的,放入你想显示的位置就OK了。或者在鼠标右击cxGrid1DBBandedTableView1菜单里的Edit Layout里也可以拖放。

但是cxGrid不能实现如下的多表头形式:
---------------------------------
| 说明1 | 说明2 |
---------------------------------
| 说明3 | 说明4 | 说明5 | 说明6 |
| 字段1 | 字段2 |
| 字段3 | 字段4 | 字段5 |
不知道有谁能实现这样的多表头?
 
哪位大虾知道:满格显示怎么弄?
 
问题说清楚点,
什么满格显示?
 
热心人就是要给分嘛,我是刚来的,不知道这里的制度,不要怪我占你的地方啊
 
好东西,希望楼主将来整理成册,为人民服务
 
17)在主从表结构时,当点开“+”时怎样将焦点聚在相应主表的记录上?
解决:
var
HitTest: TcxCustomGridHitTest;

procedure TColumnsShareDemoMainForm.tvProjectsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
// Note that the Sender parameter is a Site
HitTest := (Sender as TcxGridSite).GridView.ViewInfo.GetHitTest(X, Y);
// The point belongs to the [+]/[-] button area
if HitTest is TcxGridExpandButtonHitTest then
// Move focus to the record
TcxGridExpandButtonHitTest(HitTest).GridRecord.Focused := True;
end;
 
小弟有一个cxgrid方面的难题,至今没解决:
明细嵌套结构,level的排列顺序如何改变?
请楼上的各位大侠帮俺一下,我试了好长时间
 
这个问题我也碰到,似乎在建立以后,确定好你的顺序以后就不可以随便更改了
 
我也实现不了双击事件,在Grid和TableView的doubleClick中写的代码,当鼠标双击时都不执行,好像没有一样
 
我知道原因,你把TableView1->OptionData->Editing设为False时doubleClick事件就出来了,原因在于你点击的时候就直接进入编辑状态,所以不响应你的doubleClick事件
 
接受答案了.
 
我知道原因,你把TableView1->OptionData->Editing设为False时doubleClick事件就出来了,原因在于你点击的时候就直接进入编辑状态,所以不响应你的doubleClick事件

确实如此,不过如果我把TableView1->OptionData->Editing设为False了,双击是可以了,可是就不能编辑了,有什么办法可以两全其美?
 
我的方法是:
TableView1->OptionData->Editing设为True
将字段里面不需要Edit的字段的Editing设为FALSE,这样也可以相应doubleClick事件
 
我把immediateEditor属性置为false,也可以,不过要进入编辑状态,需要鼠标点两下.
 
顶部