抱歉,关于你的问题我现在才看见
//参考
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
FStringList: TStringList;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
J: Integer;
S: string;
begin
S := Format('%d,%d',
[Column.Index, TDBGrid(Sender).DataSource.DataSet.RecNo]);
J := FStringList.IndexOf(S);
if J >= 0 then begin
TDBGrid(Sender).Canvas.Brush.Color := clSkyBlue;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
FStringList := TStringList.Create;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
FStringList.Free;
end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
J: Integer;
S: string;
begin
S := Format('%d,%d',
[Column.Grid.SelectedIndex, Column.Grid.DataSource.DataSet.RecNo]);
J := FStringList.IndexOf(S);
if J >= 0 then
FStringList.Delete(J)
else FStringList.Add(S);
Column.Grid.Refresh;
end;end.
//参考
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
FStringList: TStringList;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
J: Integer;
S: string;
begin
S := Format('%d,%d',
[Column.Index, TDBGrid(Sender).DataSource.DataSet.RecNo]);
J := FStringList.IndexOf(S);
if J >= 0 then begin
TDBGrid(Sender).Canvas.Brush.Color := clSkyBlue;
TDBGrid(Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
FStringList := TStringList.Create;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
FStringList.Free;
end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
J: Integer;
S: string;
begin
S := Format('%d,%d',
[Column.Grid.SelectedIndex, Column.Grid.DataSource.DataSet.RecNo]);
J := FStringList.IndexOf(S);
if J >= 0 then
FStringList.Delete(J)
else FStringList.Add(S);
Column.Grid.Refresh;
end;end.
解决方案 »
- 简单问题,纯粹送分!
- 请问各位高手:如何把字符数组A的内容赋给字符数组B?
- 请问我定义: wsadata1:WSADATA应该包含哪个头文件?
- 想了解pascal中继承重载多态等的概念,有没有面向对象pascal方面的好书或网站?
- 写了一个串口软件,通过Timer控件来处理数据,但我的软件运行了一段时间后(大约1、2个小时),就处理事件非常的慢,请问如何办?
- 关于Dlephi中引用Windows API的问题
- 怎么样在delphi程序中中止另一个程序。最好有代码!
- htSizeLast在Delphi中带表什么;
- 又是日期查找的问题
- 小问题!20分也该够了呀,我也没分啦!
- 我下载了Delphi5_ADO_MTS_COM_design ,怎么Acrobat Reader 5.0打不开!!!说什么没有中文包
- 为什么用table控的insert和append方法总是将记录插入到当前记录之前,有没有办法解决?
我们日后成为大虾后
应该向 zswang(伴水)(需要充充电)一样乐于助人,我说过的这些话,我一定会做到的