5,386
社区成员
发帖
与我相关
我的任务
分享
implementation
{$R *.dfm}
{ SQL测试脚本:
use msdb
go
DROP TABLE test
CREATE TABLE test (选取 BIT, 数量 INTEGER)
INSERT INTO test VALUES (0, 200), (1, 50), (null, 3), (1, 80), (1, 300)
SELECT * FROM test
}
function TDBGridEh.ColumnByName(Name: String): TColumnEh;
var
I: Integer;
begin
Result := nil;
for I := 0 to Columns.Count-1 do
begin
if Columns[I].Title.Caption = Name then
begin
Result := Columns[I];
break;
end;
end;
end;
TForm1 = class(TForm)
Connection1: TMSConnection; //数据库组件为sdac
Query1: TMSQuery;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure DBGridEh1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumnEh; State: TGridDrawState);
procedure DBGridEh1CellClick(Column: TColumnEh);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
DBGridEhGrouping, ToolCtrlsEh, DBGridEhToolCtrls, DynVarsEh, EhLibVCL,
GridsEh, DBAxisGridsEh, DBGridEh, Data.DB, DBAccess, MSAccess, MemDS;
type
TDBGridEh = Class(DBGridEh.TDBGridEh)
public
function ColumnByName(Name: String): TColumnEh;
procedure DrawGrayedCheckBox(const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState);
end;