cxgrid中的 DBTableView 中的数据。通过 select rownum,* from table
可以选出 rownum,但是现在有一个奇怪的要求,
那就是,要求那行行号的列(rownum)固定,也就是说,可以选择排序,无论怎么排,序号总是从1开始向下排的。
我想不出什么办法来实现了。唉。其实就像Excel的行号一样,Excel的行号根本不会变化,不管你怎么排序,排出来的只是内容。怎么办?
可以选出 rownum,但是现在有一个奇怪的要求,
那就是,要求那行行号的列(rownum)固定,也就是说,可以选择排序,无论怎么排,序号总是从1开始向下排的。
我想不出什么办法来实现了。唉。其实就像Excel的行号一样,Excel的行号根本不会变化,不管你怎么排序,排出来的只是内容。怎么办?
解决方案 »
- delphi 如何提高数据库数据加载速度?
- 为什么我的中间层老是死机?请高手帮忙
- 子窗体要把一个值 在关闭后给父窗体的一个edit...怎么办????
- 我做了一个类似google的ie工具栏,但安装后,不能自动显示在ie上,必须打勾
- 怎样对一个form中所有的控件进行操作
- 为什么用delphi带的qreport在xp下做的报表程序装到98的机子上无法打印?
- 新手的极菜之问题~
- 作过短信的兄弟姐妹 顶一下 有分哦
- 使用TMemoryStream的问题!
- 散尽所有的分数,CSDN的朋友们,我要走了。
- 用GraphicEx将Bmp转PNG,转出后还是BMP格式.不知如何写?请帮忙
- cxGrid中如何加入一个序号列???
begin
if DataSet.RecordCount>0 then
cxGrid1DBTableView1.OptionsView.IndicatorWidth :=
Canvas.TextWidth(IntToStr(DataSet.RecordCount)) + 4 ;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active :=not ADOQuery1.Active;
end;procedure TForm1.cxGrid1DBTableView1CustomDrawIndicatorCell(
Sender: TcxGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
FValue :=IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index+1);
FBounds := AViewInfo.Bounds;
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
InflateRect(FBounds, -1, -1);
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
CustomDrawIndicatorCell事件代码