⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gridtitle.pas

📁 p2pdbanywhere 可以通过之udp方式远程连接数据库的组件,这个组件非常好,是Delphi7,9,2006能够使用,包含源码.
💻 PAS
字号:
unit GridTitle;

interface

uses
  SysUtils, Classes,Forms,DBGrids,DbGridEh,ADODB,TitleDesign,Controls,inifiles,
  tools,dialogs;

type
  TGridTitle = class(TComponent)
  private
    FAbout:string;
    //FConnection:TADOConnection;
    //FQQ:TADOQuery;
    FGTDesign:Ttitledesign_form;
    //procedure SetConnection(Value:TADOConnection);
    { Private declarations }
  protected
    { Protected declarations }
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure SetGridTitle(GridForm:TForm;DbGrid:TDbGrid);OverLoad;
    procedure SetGridTitle(GridForm:TForm;DbGridEh:TDbGridEh);OverLoad;
    procedure DesignGridTitle(GridForm:TForm;DbGrid:TDbGrid);overload;
    procedure DesignGridTitle(GridForm:TForm;DbGridEh:TDbGridEh);overload;
    procedure SetGridTitle(GridForm:TForm;DbGrid:TDbGrid;SignName:string);OverLoad;
    procedure SetGridTitle(GridForm:TForm;DbGridEh:TDbGridEh;SignName:string);OverLoad;
    procedure DesignGridTitle(GridForm:TForm;DbGrid:TDbGrid;SignName:string);overload;
    procedure DesignGridTitle(GridForm:TForm;DbGridEh:TDbGridEh;SignName:string);overload;
    { Public declarations }
  published
    //property Connection:TADOConnection read FConnection write SetConnection;
    Property About:string read FAbout write Fabout;
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('DbAnyWhere', [TGridTitle]);
end;
constructor TGridTitle.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //FQQ:=TADOQuery.Create(nil);
  FGTDesign:=Ttitledesign_form.Create(nil);
  {Fabout:='>>表格栏目的显示和排序<<'+chr(13)+
               '数据库结构:'+chr(13)+
               'GT_ID:自动编号(可删除)'+chr(13)+
               'GT_Code:栏目编号(所属窗体名称+ _ +设定表格名称)'+chr(13)+
               'GT_Order:栏目排序'+chr(13)+
               'GT_VS:栏目的可见性';}
  Fabout:='DbAnyWhere GridTitle Vcl';
end;
destructor TGridTitle.Destroy;
begin
  inherited Destroy;
  //FreeAndNil(FQQ);
  FreeAndNil(FGTDesign);
end;
procedure TGridTitle.SetGridTitle(GridForm:TForm;DbGrid:TDbGrid);
var
   i,j:integer;
   title_str:string;
   title_list:Tstringlist;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrid.Name,'');
  if length(trim(title_str))>0 then
  begin
    Title_list:=Tstringlist.Create;
    title_list.Text:=replace(title_str,'#',chr(13),false);
    for j:=0 to title_list.Count-1 do
    begin
      //设置表头的显示
      for i:=0 to Dbgrid.Columns.Count-1 do
      begin
        if dbgrid.Columns[i].FieldName=copy(title_list.Strings[j],6,length(title_list.Strings[j])-5) then
        begin
          dbgrid.Columns[i].Width:=strtoint(copy(title_list.Strings[j],2,4));
          if copy(title_list.Strings[j],1,1)='1' then dbgrid.Columns[i].Visible:=true;
          if copy(title_list.Strings[j],1,1)='0' then dbgrid.Columns[i].Visible:=false;
          dbgrid.Columns.Items[i].Index:=j;
          dbgrid.Repaint;
        end;
      end;
    end;
    freeandnil(title_list);
  end;
  freeandnil(ini1);
end;
procedure TGridTitle.SetGridTitle(GridForm:TForm;DbGridEh:TDbGridEh);
var
   i,j:integer;
   title_str:string;
   title_list:Tstringlist;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrideh.Name,'');
  if length(trim(title_str))>0 then
  begin
    Title_list:=Tstringlist.Create;
    title_list.Text:=replace(title_str,'#',chr(13),false);
    for j:=0 to title_list.Count-1 do
    begin
      //设置表头的显示
      for i:=0 to Dbgrideh.Columns.Count-1 do
      begin
        if dbgrideh.Columns[i].FieldName=copy(title_list.Strings[j],6,length(title_list.Strings[j])-5) then
        begin
          //showmessage(copy(title_list.Strings[j],2,4));
          dbgrideh.Columns[i].Width:=strtoint(copy(title_list.Strings[j],2,4)); 
          if copy(title_list.Strings[j],1,1)='1' then dbgrideh.Columns[i].Visible:=true;
          if copy(title_list.Strings[j],1,1)='0' then dbgrideh.Columns[i].Visible:=false;
          dbgrideh.Columns.Items[i].Index:=j;
          dbgrideh.Repaint;
        end;
      end;
    end;
    freeandnil(title_list);
  end;
  freeandnil(ini1);
end;
procedure TGridTitle.DesignGridTitle(GridForm:TForm;DbGrid:TDbGrid);
var
   i:integer;
   title_str:string;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrid.Name,'');
  FGTDesign.cb.Items.Clear;
  FGTDesign.cb1.Items.Clear;
  for i:=0 to dbgrid.Columns.Count-1 do
  begin
    FGTDesign.cb.Items.Add(dbgrid.Columns[i].Title.Caption);
    FGTDesign.cb1.Items.Add(dbgrid.Columns[i].FieldName);
    FGTDesign.cb.Checked[i]:=dbgrid.Columns.Items[i].Visible;
  end;
  FGTDesign.setgrid(dbgrid);
  FGTDesign.ShowModal;
  if length(trim(FGTDesign.str))>0 then
  begin
    //保存
    ini1.WriteString('GTVS',gridform.Name+'_'+dbgrid.Name,FGTDesign.str);
  end;
  //重新提取
  self.SetGridTitle(gridform,dbgrid);
end;
procedure TGridTitle.DesignGridTitle(GridForm:TForm;DbGridEh:TDbGridEh);
var
   i:integer;
   title_str:string;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrideh.Name,'');
  FGTDesign.cb.Items.Clear;
  FGTDesign.cb1.Items.Clear;
  for i:=0 to dbgrideh.Columns.Count-1 do
  begin
    FGTDesign.cb.Items.Add(dbgrideh.Columns[i].Title.Caption);
    FGTDesign.cb1.Items.Add(dbgrideh.Columns[i].FieldName);
    FGTDesign.cb.Checked[i]:=dbgrideh.Columns.Items[i].Visible;
  end;
  FGTDesign.setgrid(dbgrideh);
  FGTDesign.ShowModal;
  if length(trim(FGTDesign.str))>0 then
  begin
    //保存
    ini1.WriteString('GTVS',gridform.Name+'_'+dbgrideh.Name,FGTDesign.str);
  end;
  //重新提取
  self.SetGridTitle(gridform,dbgrideh);
end;
//////////////////////////////////////////////////////////////////
procedure TGridTitle.SetGridTitle(GridForm:TForm;DbGrid:TDbGrid;SignName:string);
var
   i,j:integer;
   title_str:string;
   title_list:Tstringlist;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrid.Name+'_'+SignName,'');
  if length(trim(title_str))>0 then
  begin
    Title_list:=Tstringlist.Create;
    title_list.Text:=replace(title_str,'#',chr(13),false);
    for j:=0 to title_list.Count-1 do
    begin
      //设置表头的显示
      for i:=0 to Dbgrid.Columns.Count-1 do
      begin
        if dbgrid.Columns[i].FieldName=copy(title_list.Strings[j],6,length(title_list.Strings[j])-5) then
        begin
          dbgrid.Columns[i].Width:=strtoint(copy(title_list.Strings[j],2,4));
          if copy(title_list.Strings[j],1,1)='1' then dbgrid.Columns[i].Visible:=true;
          if copy(title_list.Strings[j],1,1)='0' then dbgrid.Columns[i].Visible:=false;
          dbgrid.Columns.Items[i].Index:=j;
          dbgrid.Repaint;
        end;
      end;
    end;
    freeandnil(title_list);
  end;
  freeandnil(ini1);
end;
procedure TGridTitle.SetGridTitle(GridForm:TForm;DbGridEh:TDbGridEh;SignName:string);
var
   i,j:integer;
   title_str:string;
   title_list:Tstringlist;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrideh.Name+'_'+SignName,'');
  if length(trim(title_str))>0 then
  begin
    Title_list:=Tstringlist.Create;
    title_list.Text:=replace(title_str,'#',chr(13),false);
    for j:=0 to title_list.Count-1 do
    begin
      //设置表头的显示
      for i:=0 to Dbgrideh.Columns.Count-1 do
      begin
        if dbgrideh.Columns[i].FieldName=copy(title_list.Strings[j],6,length(title_list.Strings[j])-5) then
        begin
          //showmessage(copy(title_list.Strings[j],2,4));
          dbgrideh.Columns[i].Width:=strtoint(copy(title_list.Strings[j],2,4)); 
          if copy(title_list.Strings[j],1,1)='1' then dbgrideh.Columns[i].Visible:=true;
          if copy(title_list.Strings[j],1,1)='0' then dbgrideh.Columns[i].Visible:=false;
          dbgrideh.Columns.Items[i].Index:=j;
          //dbgrideh.Repaint;
        end;
      end;
    end;
    freeandnil(title_list);
  end;
  freeandnil(ini1);
end;
procedure TGridTitle.DesignGridTitle(GridForm:TForm;DbGrid:TDbGrid;SignName:string);
var
   i:integer;
   title_str:string;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrid.Name+'_'+SignName,'');
  FGTDesign.cb.Items.Clear;
  FGTDesign.cb1.Items.Clear;
  for i:=0 to dbgrid.Columns.Count-1 do
  begin
    FGTDesign.cb.Items.Add(dbgrid.Columns[i].Title.Caption);
    FGTDesign.cb1.Items.Add(dbgrid.Columns[i].FieldName);
    FGTDesign.cb.Checked[i]:=dbgrid.Columns.Items[i].Visible;
  end;
  FGTDesign.setgrid(dbgrid);
  FGTDesign.ShowModal;
  if length(trim(FGTDesign.str))>0 then
  begin
    //保存
    ini1.WriteString('GTVS',gridform.Name+'_'+dbgrid.Name+'_'+SignName,FGTDesign.str);
  end;
  freeandnil(ini1);
  //重新提取
  self.SetGridTitle(gridform,dbgrid,signname);
end;
procedure TGridTitle.DesignGridTitle(GridForm:TForm;DbGridEh:TDbGridEh;SignName:string);
var
   i:integer;
   title_str:string;
   ini1:Tinifile;
begin
  ini1:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'GTConfig.ini');
  title_str:=ini1.ReadString('GTVS',gridform.Name+'_'+dbgrideh.Name+'_'+SignName,'');
  FGTDesign.cb.Items.Clear;
  FGTDesign.cb1.Items.Clear;
  for i:=0 to dbgrideh.Columns.Count-1 do
  begin
    FGTDesign.cb.Items.Add(dbgrideh.Columns[i].Title.Caption);
    FGTDesign.cb1.Items.Add(dbgrideh.Columns[i].FieldName);
    FGTDesign.cb.Checked[i]:=dbgrideh.Columns.Items[i].Visible;
  end;
  FGTDesign.setgrid(dbgrideh);
  FGTDesign.ShowModal;
  if length(trim(FGTDesign.str))>0 then
  begin
    //保存
    ini1.WriteString('GTVS',gridform.Name+'_'+dbgrideh.Name+'_'+SignName,FGTDesign.str);
  end;
  //重新提取
  self.SetGridTitle(gridform,dbgrideh,signname);
end;
{procedure TGridTitle.SetConnection(Value:TADOConnection);
begin
  FConnection:=Value;
  FQQ.Connection:=FConnection;
end; }
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -