亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memtableediteh.pas

?? 一個功能強大的DBGRID控件
?? PAS
字號:
{*******************************************************}
{                                                       }
{                     EhLib vX.X                        }
{                                                       }
{        TMemTableDataForm component (Build 12)         }
{                                                       }
{        Copyright (c) 2003-05 by EhLib Team and        }
{                Dmitry V. Bolshakov                    }
{                                                       }
{*******************************************************}

unit MemTableEditEh;

{$I EhLib.Inc}

interface

uses SysUtils, Windows, Messages, Classes, Graphics, Controls,
{$IFDEF CIL}
  Borland.Vcl.Design.DesignIntf,
  Borland.Vcl.Design.DsnDBCst,
{$ELSE}
  DsnDBCst,
  {$IFDEF EH_LIB_6} DesignIntf,
  {$ELSE} DsgnIntf, {$ENDIF}
{$ENDIF}
  Forms, Dialogs, StdCtrls, Buttons, DB, MemTableEh;

type

  TMemTableDataForm = class(TForm)
    GroupBox1: TGroupBox;
    DataSetList: TListBox;
    OkBtn: TButton;
    CancelBtn: TButton;
    HelpBtn: TButton;
    procedure FormCreate(Sender: TObject);
    procedure OkBtnClick(Sender: TObject);
    procedure HelpBtnClick(Sender: TObject);
    procedure DataSetListDblClick(Sender: TObject);
    procedure DataSetListKeyPress(Sender: TObject; var Key: Char);
  private
    FDataSet: TCustomMemTableEh;
{$IFDEF EH_LIB_6}
    FDesigner: IDesigner;
{$ELSE}
    FDesigner: IFormDesigner;
{$ENDIF}
    procedure CheckComponent(const Value: string);
    function Edit: Boolean;
  end;

function EditMemTable(ADataSet: TCustomMemTableEh; ADesigner: IDesigner): Boolean;

implementation

uses TypInfo, {LibHelp,} DBConsts, Consts;

{$R *.dfm}

function EditMemTable(ADataSet: TCustomMemTableEh; ADesigner: IDesigner): Boolean;
begin
  with TMemTableDataForm.Create(Application) do
  try
    Caption := Format(SClientDataSetEditor, [ADataSet.Owner.Name, DotSep, ADataSet.Name]);
    FDataSet := ADataSet;
{$IFDEF EH_LIB_6}
    FDesigner := ADesigner;
{$ELSE}
    FDesigner := IFormDesigner(ADesigner);
{$ENDIF}

    Result := Edit;
  finally
    Free;
  end;
end;

procedure TMemTableDataForm.CheckComponent(const Value: string);
var
  DataSet: TDataSet;
begin
  DataSet := TDataSet(FDesigner.GetComponent(Value));
  if (DataSet.Owner <> FDataSet.Owner) then
    DataSetList.Items.Add(Concat(DataSet.Owner.Name, '.', DataSet.Name))
  else
    if AnsiCompareText(DataSet.Name, FDataSet.Name) <> 0 then
      DataSetList.Items.Add(DataSet.Name);
end;

function TMemTableDataForm.Edit: Boolean;
begin
  DataSetList.Clear;
  FDesigner.GetComponentNames(GetTypeData(TDataSet.ClassInfo), CheckComponent);
  if DataSetList.Items.Count > 0 then
  begin
    DataSetList.Enabled := True;
    DataSetList.ItemIndex := 0;
    OkBtn.Enabled := True;
    ActiveControl := DataSetList;
  end else
    ActiveControl := CancelBtn;
  Result := ShowModal = mrOK;
end;

procedure TMemTableDataForm.OkBtnClick(Sender: TObject);
var
  DataSet: TDataSet;
//  OldProviderDataSet: TDataSet;
//  DSProv: TDataSetProvider;
begin
  try
    if DataSetList.ItemIndex >= 0 then
    begin
      Screen.Cursor := crHourGlass;
      try
        with DataSetList do
          DataSet := FDesigner.GetComponent(Items[ItemIndex]) as TDataSet;
        FDataSet.LoadFromDataSet(DataSet, -1, lmCopy, False);
{        OldProviderDataSet := FDataSet.ProviderDataSet;
        try
          FDataSet.Close;
          FDataSet.ProviderDataSet := DataSet;
          FDataSet.Open;
          FDataSet.FetchRecords(-1);
        finally
          FDataSet.ProviderDataSet := OldProviderDataSet;
        end;}
      finally
        Screen.Cursor := crDefault;
      end;
    end
    else
      ;//FDataSet.Data := varNull;
  except
    ModalResult := mrNone;
    raise;
  end;
end;

procedure TMemTableDataForm.FormCreate(Sender: TObject);
var
  NonClientMetrics: TNonClientMetrics;
begin
  if ParentFont then
  begin
    NonClientMetrics.cbSize := sizeof(NonClientMetrics);
{$IFDEF CIL}
  { TODO : To do for CIL }
//    if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0) then
//      Font.Name := NonClientMetrics.lfMessageFont.lfFaceName;
{$ELSE}
    if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0) then
      Font.Name := NonClientMetrics.lfMessageFont.lfFaceName;
{$ENDIF}
  end;
{ TODO : LibHelp HelpContext := }
//  HelpContext := hcDAssignClientData;
end;

procedure TMemTableDataForm.HelpBtnClick(Sender: TObject);
begin
  Application.HelpContext(HelpContext);
end;

procedure TMemTableDataForm.DataSetListDblClick(Sender: TObject);
begin
  if OkBtn.Enabled then OkBtn.Click;
end;

procedure TMemTableDataForm.DataSetListKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #13) and OkBtn.Enabled then OkBtn.Click;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本欧美一区二区三区乱码 | 日韩经典中文字幕一区| 亚洲精品一区二区三区精华液 | 日韩一级二级三级| 在线观看www91| 日本丶国产丶欧美色综合| 国产精品亚洲午夜一区二区三区 | 亚洲精品国产精华液| 久久免费美女视频| 久久亚洲精品国产精品紫薇| 欧美午夜电影在线播放| 91在线国内视频| 99精品视频中文字幕| 成人avav在线| 99免费精品在线| 成人夜色视频网站在线观看| 国模大尺度一区二区三区| 精东粉嫩av免费一区二区三区| 日韩国产精品久久久久久亚洲| 亚洲国产精品久久艾草纯爱| 亚洲国产精品人人做人人爽| 午夜一区二区三区视频| av不卡一区二区三区| 91国在线观看| 91精品国产一区二区三区香蕉| 精品久久久久香蕉网| 国产精品美女一区二区三区 | av在线不卡观看免费观看| 欧美伊人久久久久久午夜久久久久| 欧美日本国产一区| 国产欧美视频一区二区| 亚洲va在线va天堂| 成人综合在线网站| 欧美日韩的一区二区| 国产欧美一二三区| 午夜免费久久看| 春色校园综合激情亚洲| 欧美日韩亚洲高清一区二区| 亚洲国产高清在线| 日本最新不卡在线| 在线一区二区观看| 欧美国产日本视频| 久久精品国产免费| 91黄色激情网站| 国产精品色噜噜| 麻豆精品久久久| 欧美日韩国产另类一区| 国产精品免费aⅴ片在线观看| 麻豆精品国产传媒mv男同| 91电影在线观看| 中文字幕一区二区日韩精品绯色 | 欧美国产精品一区| 久久国产精品色| 欧美日韩日日摸| |精品福利一区二区三区| 国内精品在线播放| 日韩精品一区在线| 日韩高清一区在线| 欧美精品在线视频| 一区二区三区**美女毛片| 99这里只有精品| 中文字幕av不卡| 欧美韩日一区二区三区四区| 偷拍一区二区三区四区| av欧美精品.com| 久久久久久夜精品精品免费| 久国产精品韩国三级视频| 欧美伦理影视网| 一区二区三区在线影院| 色综合天天综合色综合av | 亚洲成人免费影院| 在线观看国产日韩| 亚洲一区二区三区影院| 日本精品免费观看高清观看| 亚洲欧洲成人精品av97| 99精品在线免费| 亚洲精品五月天| 色欧美88888久久久久久影院| 亚洲精品久久7777| 欧美色网一区二区| 午夜精品123| 成人美女在线视频| 精品日本一线二线三线不卡| 亚洲国产三级在线| 欧美日韩精品福利| 亚洲一卡二卡三卡四卡| 日本精品裸体写真集在线观看| 亚洲综合一区在线| 777亚洲妇女| 国产一区二区三区免费| 国产精品污网站| 日本久久一区二区| 男女激情视频一区| 久久久久久久久久久久久夜| www.综合网.com| 亚洲已满18点击进入久久| 日韩欧美国产综合| 成人av在线网站| 亚洲高清中文字幕| 久久久久久夜精品精品免费| 色天使久久综合网天天| 久久久久久综合| 美女看a上一区| 26uuu另类欧美亚洲曰本| 国产成人综合视频| 综合网在线视频| 欧美精品vⅰdeose4hd| 久久99精品久久久久久| 一区二区在线观看免费视频播放| 91精品免费观看| 久久99精品久久久久久动态图| 中文文精品字幕一区二区| 色菇凉天天综合网| 日韩国产欧美在线视频| 国产日韩欧美一区二区三区乱码| 日本道免费精品一区二区三区| 蜜桃一区二区三区在线观看| a美女胸又www黄视频久久| 一级女性全黄久久生活片免费| 欧美一区永久视频免费观看| 成人黄色777网| 国产一区二三区| 亚洲成av人片在线| 国产精品国产三级国产aⅴ中文| 日韩欧美国产电影| 欧美伊人久久久久久久久影院 | 欧美日韩五月天| 成人少妇影院yyyy| 麻豆国产欧美日韩综合精品二区| 一区二区三区在线免费播放| 国产精品美女视频| 国产夜色精品一区二区av| 7777女厕盗摄久久久| 欧美三级日韩三级国产三级| 99久久精品一区二区| 国产一区二区三区在线观看免费视频 | 亚洲成人免费看| 日韩欧美成人一区二区| 欧美午夜免费电影| 91视频.com| 成人精品视频一区二区三区| 麻豆精品一区二区av白丝在线| 一区二区三区在线高清| 国产精品久久久久久妇女6080| 久久久久久久电影| 久久久久久久久久电影| 久久久久久久av麻豆果冻| 色婷婷av一区二区三区软件 | 亚洲精品日韩专区silk| 欧美国产欧美综合| 国产精品免费丝袜| 亚洲欧洲精品一区二区三区| 中文字幕一区二区三中文字幕| 国产亚洲精品7777| 国产欧美精品一区二区色综合朱莉| 精品国产一区二区精华 | 国产91精品欧美| 成人av在线观| 色婷婷久久久综合中文字幕| 色综合久久88色综合天天| 日本韩国欧美在线| 欧美日韩国产免费一区二区 | 91精品国产欧美一区二区18| 欧美精品自拍偷拍动漫精品| 欧美福利一区二区| 91精品国产乱码| 欧美一级日韩一级| 国产亚洲成av人在线观看导航| 欧美激情一区在线| 一区二区三区精品久久久| 香蕉加勒比综合久久| 久久av老司机精品网站导航| 国产成a人亚洲| 色狠狠一区二区| 91精品在线免费观看| 日韩精品一区二区三区蜜臀 | 久久精品久久99精品久久| 国产精品综合av一区二区国产馆| 成a人片国产精品| 欧美色网站导航| 久久久久久久久久久99999| 亚洲天天做日日做天天谢日日欢| 午夜精品福利一区二区三区av | 欧洲亚洲精品在线| 日韩午夜精品电影| ...中文天堂在线一区| 亚洲v日本v欧美v久久精品| 国产成人综合网| 欧美日韩国产一二三| 国产欧美一区二区精品仙草咪| 亚洲第一二三四区| 丰满少妇久久久久久久| 51精品秘密在线观看| 最新国产精品久久精品| 美腿丝袜亚洲色图| 在线免费观看日本欧美| 国产午夜久久久久| 麻豆一区二区三区| 欧美三级一区二区| 亚洲青青青在线视频|