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

📄 datasearch.pas

📁 一套融入了系统营销管理思想的管理软件产品
💻 PAS
字号:
unit DataSearch;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  BaseDialog, Db, StdCtrls, Buttons, Grids, DBGrids, DBTables, Variants;

type
  TfmDataSearch = class(TfmBaseDialog)
    EDA: TEdit;
    Label1: TLabel;
    EDB: TComboBox;
    Label2: TLabel;
    dsTemp: TDataSource;
    cbFieldName: TComboBox;
    EDC: TCheckBox;
    procedure gdBrowseDblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure EDAChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  fmDataSearch: TfmDataSearch;

implementation

uses Loading, PublicFunction;

{$R *.DFM}

procedure TfmDataSearch.gdBrowseDblClick(Sender: TObject);
begin
  inherited;
  ModalResult:= mrOK;
end;

procedure TfmDataSearch.FormActivate(Sender: TObject);
var
  i : Integer;
begin
    //DataSe里的字段物件的排列顺序是由0算起的,所以总数要用FieldCount - 1
  for i := 0 to dsTemp.DataSet.FieldCount - 1 do
  begin
    //如果字段物件的Tag为1, 则不加入EDB与cbfieldName
    if dsTemp.DataSet.Fields[i].Tag = 1 then
      Continue;
    //记录字段的说明
    EDB.Items.Add(dsTemp.DataSet.Fields[i].DisplayLabel);
    //记录对应的字段在DataSet的顺序
    cbFieldName.Items.Add(IntToStr(i));
    {字段说明(EDB)与字段索引(cbFieldName)的顺序是一样的}
  end;
  {预设一次显示所有可查询的字段清单}
  EDB.DropDownCount := dsTemp.DataSet.FieldCount;
  {给与预设的查询字段}
  EDB.ItemIndex := 0;
end;

procedure TfmDataSearch.EDAChange(Sender: TObject);
var
  iLocation : Integer;
begin
  inherited;
  //查询的数据如果是空白,就直接离开不处理
  if Trim(EDA.Text) = '' then Exit;
  //目前是那一个字段被选取
  iLocation := StrToInt(cbFieldName.Items[EDB.ItemIndex]);
  //系统里面就只有两种数据类型:字符串与浮点数
  if VarType(dsTemp.DataSet.Fields[iLocation].Value) <> varString then
    //字段类型为浮点数,就没有部分寻找的功能

⌨️ 快捷键说明

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