TDBGrid 对象

用网格的方式显示数据表。

属性/方法 说明
DataSource 连接 TDateSource 对象
DisableAlign() 禁止刷新(开始大量操作)
EnableAlign() 恢复刷新(结束大量操作)
Columns 列集合
DefaultDrawColumnCell(...) 绘制数据格的默认过程
ValidFieldIndex(index) 指示某列是否连接一个原始字段,(非计算列)
MouseCoord(x,y) 返回屏幕鼠标指向的单元格的行列,TGridCoord 对象
事件 说明
OnDrawColumnCell 事件 自定义的绘制过程
OnDrawDataCell 事件 绘制有焦点的单元格
OnEditButtonClick 事件 自定义的编辑过程,当点击提示按钮
OnTitleClick 事件 列标题单击时发生
OnCellClick 事件 单击数据格时发生

Columns 集合对象

属性/方法 说明
Count 包含 Column 对象数量
Items[index] 返回 Column 对象默认

Column 对象

属性/方法 说明
Field 返回数据集的 Field 对象
FieldName 连接数据集的字段名
Readonly 是否只读,不允许修改值
Title ColumnTitle 对象
Visible 是否显示
Width 显示宽度
Index 序号
Grid CustomDBGrid 对象

ColumnTitle 对象

属性/方法 说明
Caption 标题显示文字
Color 背景色
Font 字体
Column Column 对象

OnDrawColumnCell 事件

当修改数据时,把另一个控件对齐到单元格的屏幕位置进行修改,替代默认的修改方案。

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
begin
 if (gdFocused in State) then
 begin
   if (Field.FieldName = DBComboBox1.DataField ) then
   begin
     DBComboBox1.Left := Rect.Left + DBGrid1.Left;
     DBComboBox1.Top := Rect.Top + DBGrid1.top;
     DBComboBox1.Width := Rect.Right - Rect.Left;
     DBComboBox1.Height := Rect.Bottom - Rect.Top;
     DBComboBox1.Visible := True;
   end;
 end;
end;
参数 说明
Rect 焦点格相对于 DBGrid 的坐标
Field 焦点格的对应的数据列 Field 对象