home *** CD-ROM | disk | FTP | other *** search
- unit CSDBBrowse;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, DBBrowse, db;
-
- type
- TMyParam = class(TObject)
- Tablename: String; // table name to use (M)
- WhereSQL:String; // any sql WHERE clause (O)
- MultipleSelect:Boolean; // specify if user can select multiple rows (O) default FALSE
-
- Key : TStringList; // the key fields to return (M)
- TitleStr: TStringList; // column title of the grid (O)
- // separate column name with | (pipe)
- // uses DisplayToUse as index
-
- IndexName: TStringList; // sorting name (M)
- IndexStr: TStringList; // for use with ORDER BY clause, should contain actual field names
- // field names w/ spaces should be enclosed in '[]' (M)
-
- IndexToUse: Byte; // select which ORDER BY to use in IndexStr (O) default 0
-
- DisplayName: TStringList; // name of Display for field lists. (M)
- DisplayStr: TStringList; // list of field names to list in the browse window (M)
- DisplayToUse: Byte; // select which Display to use (O) default 0
-
- ResultStr: TStringList; // selected records key field value will be returned here
-
- public
- procedure Clear;
- Constructor Create;
- Destructor Destroy; override;
- end;
-
- TGridColor = class(TPersistent)
- private
- FStripeColor1: TColor;
- FStripeColor2: TColor;
- FFontColor: TColor;
- FBkColor : TColor;
- FSFontColor: TColor;
- FSBkColor : TColor;
- FSHLFontColor:TColor;
- FSHLBkColor :TColor;
- Constructor create;
- public
- Destructor destroy; override;
- published
- property StripeColor1: TColor read FStripeColor1 write FStripeColor1;
- property StripeColor2: TColor read FStripeColor2 write FStripeColor2;
-
- property FontColor: TColor read FFontColor write FFontColor;
- property BkColor : TColor read FBkColor write FBkColor;
-
- property SelectedFontColor: TColor read FSFontColor write FSFontColor;
- property SelectedBkColor : TColor read FSBkColor write FSBkColor;
-
- property SelectedHLFontColor:TColor read FSHLFontColor write FSHLFontColor;
- property SelectedHLBkColor :TColor read FSHLBkColor write FSHLBKColor;
- end;
-
- TCSDBBrowse = class(TComponent)
- private
- FDataSource: TDataSource;
- FColorSet:TGridColor;
- { Private declarations }
- procedure SetColorSet(Value:TGridColor);
- protected
- { Protected declarations }
- public
- Param:TMyParam;
- { Public declarations }
- Constructor Create (AOwner: TComponent); override;
- Destructor Destroy; override;
- procedure Execute;
- published
- property DataSource:TDataSource read FDataSource write FDataSource;
- property ColorSet:TGridColor read FColorSet write SetColorSet;
- { Published declarations }
- end;
-
- procedure Register;
-
- implementation
-
- Constructor TCSDBBrowse.Create(AOwner: TComponent);
- Begin
- Inherited Create (AOwner);
-
- Param:=TMyParam.Create;
- FColorSet:=TGridColor.Create;
- End;
-
- Destructor TCSDBBrowse.Destroy;
- Begin
- Param.Free;
- FColorSet.Destroy;
- Inherited Destroy;
- End;
-
- procedure TCSDBBrowse.SetColorSet(Value:TGridColor);
- begin
- FColorSet:=Value;
- end;
-
- Procedure TCSDBBrowse.Execute;
- var
- csBrowse:TfrmDBBrowse;
- begin
-
- try
- csBrowse := Tfrmdbbrowse.Create(self);
- csBrowse.dbgBrowse.DataSource:=FDataSource;
-
- csBrowse.Param.Key.Assign(Param.Key);
- csBrowse.Param.TitleStr.Assign(Param.TitleStr);
- csBrowse.Param.IndexName.Assign(Param.IndexName);
- csBrowse.Param.IndexStr.Assign(Param.IndexStr);
- csBrowse.Param.DisplayName.Assign(Param.DisplayName);
- csBrowse.Param.DisplayStr.Assign(Param.DisplayStr);
- csBrowse.Param.MultipleSelect:=Param.MultipleSelect;
- csBrowse.Param.TableName:=Param.TableName;
- csBrowse.Param.WhereSQL:=Param.WhereSQL;
- csBrowse.Param.IndexToUse:=Param.IndexToUse;
- csBrowse.Param.DisplayTouse:=Param.DisplayToUse;
-
- csBrowse.StripeColor1:=FColorSet.FStripeColor1;
- csBrowse.StripeColor2:=FColorSet.FStripeColor2;
- csBrowse.FontColor:=FColorSet.FFontColor;
- csBrowse.BkColor:=FColorSet.FBkColor;
- csBrowse.SFontColor:=FColorSet.FSFontColor;
- csBrowse.SBkColor:=FColorSet.FSBkColor;
- csBrowse.SHLFontColor:=FColorSet.FSHLFontColor;
- csBrowse.SHLBkColor:=FColorSet.FSHLBkColor;
-
- if csBrowse.VerifyOK then begin
- try
- csBrowse.ShowModal;
- Param.ResultStr.Assign(csBrowse.Param.ResultStr);
- except
- end;
- end;
- finally
- csBrowse.Free;
- end;
-
- end;
-
- constructor TMyParam.Create;
- begin
- inherited Create;
-
- IndexToUse:=0;
- DisplayToUse:=0;
- MultipleSelect:=False;
- Key:=TStringList.Create;
- TitleStr:=TStringList.Create;
- IndexStr:=TStringList.Create;
- DisplayStr:=TStringList.Create;
- ResultStr:=TStringList.Create;
- IndexName:=TStringList.Create;
- DisplayName:=TStringList.Create;
- Tablename:='';
- WhereSQL:='';
-
- end;
-
- destructor TMyParam.Destroy;
- begin
- Key.Free;
- TitleStr.Free;
- IndexStr.Free;
- DisplayStr.Free;
- ResultStr.Free;
- IndexName.Free;
- DisplayName.Free;
-
- inherited Destroy;
- end;
-
- procedure TMyParam.Clear;
- begin
- IndexToUse:=0;
- DisplayToUse:=0;
- MultipleSelect:=False;
- Tablename:='';
- WhereSQL:='';
-
- Key.Clear;
- TitleStr.Clear;
- IndexStr.Clear;
- DisplayStr.Clear;
- ResultStr.Clear;
- IndexName.Clear;
- DisplayName.Clear;
- end;
-
- constructor TGridColor.Create;
- begin
- StripeColor1:=$F4BDC7;
- StripeColor2:=$F0F0F0;
-
- FontColor:=clWhite;
- BkColor:=clHighLight;
-
- SelectedFontColor:=clRed;
- SelectedBkColor:=clBlue+cldkGray;
-
- SelectedHLFontColor:=clWhite;
- SelectedHLBkColor:=clOlive;
- inherited create;
- end;
-
- destructor TGridColor.Destroy;
- begin
- inherited destroy;
- end;
-
- procedure Register;
- begin
- RegisterComponents('CS', [TCSDBBrowse]);
- end;
-
- end.
-
-
-