?? gridmasterdetail.pas
字號:
unit gridmasterdetail;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DB, DBTables, Wwquery, ImgList, Wwdatsrc, StdCtrls, Buttons, Wwkeycb,
ExtCtrls, wwcheckbox, Wwdbigrd, Grids, Wwdbgrid;
type
TMasterDetailGrid = class(TForm)
MasterGrid: TwwDBGrid;
DetailGrid: TwwDBGrid;
Dts_Master: TwwDataSource;
Dts_Detail: TwwDataSource;
wwExpandButton1: TwwExpandButton;
SpeedButton1: TSpeedButton;
ImageList1: TImageList;
Qu_master: TwwQuery;
Qu_Detail: TwwQuery;
pantop: TPanel;
findkey: TwwIncrementalSearch;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label2: TLabel;
MasterGridIButton: TwwIButton;
procedure DetailGridBeforePaint(Sender: TObject);
procedure MasterGridCalcTitleImage(Sender: TObject; Field: TField;
var TitleImageAttributes: TwwTitleImageAttributes);
procedure FormCreate(Sender: TObject);
procedure MasterGridDblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure MasterGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure findkeyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
detail_title:array of string;
detail_wid : array of integer;
end;
var
MasterDetailGrid: TMasterDetailGrid;
flength,maxtaborder :integer;
implementation
uses pdatabse;
{$R *.DFM}
procedure TMasterDetailGrid.DetailGridBeforePaint(Sender: TObject);
begin
// Paint to my grid the
if MasterGrid.IsActiveRowAlternatingColor then
begin
with TwwDBGrid(Sender) do
Canvas.CopyRect(ClientRect,
MasterGrid.PaintOptions.AlternatingColorBitmap.Canvas, ClientRect);
end
else
with TwwDBGrid(Sender) do
Canvas.CopyRect(ClientRect,
MasterGrid.PaintOptions.OrigBitmap.Canvas, ClientRect);
Detailgrid.LoadFromIniFile;
Screen.Cursor:=crDefault;
end;
procedure TMasterDetailGrid.MasterGridCalcTitleImage(Sender: TObject; Field: TField;
var TitleImageAttributes: TwwTitleImageAttributes);
begin
//qu_detail.sql.text<>'' 表示只有主表;
if (Field.FieldName='xh') and (qu_detail.SQL.text<>'') then
begin
TitleImageAttributes.ImageIndex:=2;
end;
end;
procedure TMasterDetailGrid.FormCreate(Sender: TObject);
begin
maxtaborder:=10;
end;
procedure TMasterDetailGrid.MasterGridDblClick(Sender: TObject);
begin
if wwexpandbutton1.Enabled then wwExpandButton1.Expanded:=false;
with MasterGrid do
SelectRecord;
modalresult:=mrok;
end;
procedure TMasterDetailGrid.BitBtn1Click(Sender: TObject);
begin
if wwexpandbutton1.Enabled then wwExpandButton1.Expanded:=false;
if not mastergrid.IsSelected then
mastergrid.SelectRecord;
modalresult:=mrok;
end;
procedure TMasterDetailGrid.BitBtn2Click(Sender: TObject);
begin
ModalResult := mrCANCEL;
end;
procedure TMasterDetailGrid.MasterGridKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=13 then modalresult:=mrok;
end;
procedure TMasterDetailGrid.findkeyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
begin
mastergrid.SelectRecord;
modalresult:=mrok;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -