delphi中的dbgrideh,开启了dghShowRecNo后,如果在序号列标题上显示序号两字
时间: 2023-08-24 20:06:12 浏览: 45
要在 Delphi 的 DBGridEh 组件中显示“序号”这个标题,可以在组件的 OnDrawColumnCell 事件中对序号列进行特殊处理。具体步骤如下:
1. 在 DBGridEh 组件的 Options 中勾选 dghShowRecNo,开启序号列显示功能。
2. 在 DBGridEh 组件的 OnDrawColumnCell 事件中加入以下代码:
```pascal
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
var
RecNoCol: TColumnEh;
begin
if Column.Index = 0 then
begin
// 获取序号列
RecNoCol := (Sender as TCustomDBGridEh).Columns[0];
// 绘制序号列标题
if gdFixed in State then
begin
DBGridEh1.Canvas.FillRect(Rect);
DBGridEh1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, '序号');
end;
end;
end;
```
上述代码中,首先通过 Columns 属性获取序号列,然后在绘制标题时判断 gdFixed 标志位是否被设置。如果是,则说明当前正在绘制序号列的标题,此时用 Canvas.FillRect 方法清空矩形区域,并使用 Canvas.TextOut 方法在左上角位置绘制“序号”两字。
通过上述步骤,即可在 Delphi 的 DBGridEh 组件中显示“序号”这个标题。