全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:820
推到 Plurk!
推到 Facebook!

關於數據庫

尚未結案
friendly
一般會員


發表:7
回覆:3
積分:2
註冊:2004-10-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-01 16:17:57 IP:202.175.xxx.xxx 未訂閱
請問各位哥哥、姐姐 我想知到DBLookupComboBox1和DBLookupListBox1如何使用
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-02 14:38:14 IP:210.69.xxx.xxx 未訂閱
這裡有範例 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=17338&ARCHIVE=    DBLookupListBox  顯示查閱列示方塊,而該列示的內容是根據一欄位值而自其他資料集查詢而來。      DBLookupComboBox  顯示查閱組合方塊,其列示的內容是根據一欄位值而自其他資料集查詢而來的。也可以直接輸入資料,就如標準的資料感知編輯方塊。      再提供一個範例 :    
unit untMain;    interface    uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, DB, DBTables, StdCtrls, Mask, ComCtrls, ExtCtrls, Grids, DBGrids,
  Buttons;    type
  TfrmMain = class(TForm)
    Panel2: TPanel;
    Panel1: TPanel;
    PageControl1: TPageControl;
    TabStudent: TTabSheet;
    TabKarakter: TTabSheet;
    TabFag: TTabSheet;
    TabPost: TTabSheet;
    DBNavigator1: TDBNavigator;
    SpeedButtonPrint: TSpeedButton;
    SpeedButtonPreview: TSpeedButton;
    Label12: TLabel;
    Label13: TLabel;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    Label16: TLabel;
    Label18: TLabel;
    DBGrid2: TDBGrid;
    Label19: TLabel;
    Label20: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    DBLookupListBox2: TDBLookupListBox;
    Label24: TLabel;
    Label25: TLabel;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBGrid3: TDBGrid;
    TabSheet1: TTabSheet;
    Label1: TLabel;
    DBEdit9: TDBEdit;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    Label3: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit4: TDBEdit;
    DBLookupListBox3: TDBLookupListBox;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label31: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit21: TDBEdit;
    GroupBox1: TGroupBox;
    Label6: TLabel;
    DBEdit13: TDBEdit;
    Label14: TLabel;
    DBLookupComboBox3: TDBLookupComboBox;
    DBEdit10: TDBEdit;
    Label10: TLabel;
    Label11: TLabel;
    DBEdit11: TDBEdit;
    DBEdit5: TDBEdit;
    Label7: TLabel;
    Label8: TLabel;
    DBEdit20: TDBEdit;
    Label9: TLabel;
    DBLookupComboBox4: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    Label15: TLabel;
    Label17: TLabel;
    DBLookupListBox1: TDBLookupListBox;
    procedure PageControl1Change(Sender: TObject);
    procedure DBLookupListBox3Click(Sender: TObject);
    procedure SpeedButtonsPrintClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }       GlobDataSource : TDataSource;
  end;    var
  frmMain: TfrmMain;    implementation    {$R *.DFM}    uses untDataModule, untVitnemal, untKlasseListe;    procedure TfrmMain.PageControl1Change(Sender: TObject);
var
   Ind         : Integer;
   Sheet       : TTabSheet;
begin
   Sheet:=(Sender as TPageControl).ActivePage;
   ind:=DataModule1.FindComponent('DataSource' Sheet.Caption).ComponentIndex;
   GlobDataSource:=DataModule1.Components[ind] as TDataSource;
   DBNavigator1.DataSource:=(DataModule1.Components[ind]) as TDataSource;
   SpeedButtonPrint.Enabled:=(Sheet.PageIndex=1) or (Sheet.PageIndex=0);
   SpeedButtonPreview.Enabled:=(Sheet.PageIndex=1) or (Sheet.PageIndex=0);
end;    procedure TfrmMain.DBLookupListBox3Click(Sender: TObject);
begin
   DBLookupComboBox1.KeyValue:=DataModule1.QueryKlasseKLASSE.AsString;
end;    procedure TfrmMain.SpeedButtonsPrintClick(Sender: TObject);
begin
   Case PageControl1.ActivePage.PageIndex of
      1 : begin
            QRMDForm:=TQRMDForm.Create(self);
            If (sender as TSpeedButton).tag=1 then QRMDForm.QuickReport.Preview
                    else QRMDForm.QuickReport.Print;
            QRMDForm.Free;
          end;
      0 : begin
            QRMDForm1:=TQRMDForm1.Create(self);
            If (sender as TSpeedButton).tag=1 then QRMDForm1.QuickReport.Preview
                    else QRMDForm1.QuickReport.Print;
            QRMDForm1.Free;
          end;
   end;
end;    end.    
********************* 如果您滿意答案,請結案 *********************
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-03 09:55:27 IP:202.62.xxx.xxx 未訂閱
您好﹗    DBLookupComboBox元件和DBLookupListBox元件的作用是可以從其它資料表中擷取資料做為當前對應資料表的來源﹐其設定方法很簡單﹐只需通過以下幾個步驟的設定即可﹕ 一﹒設定其DataSource屬性和DataField屬性﹐此兩個屬性意義相同于普通的資料感知元件﹒ 二﹒設定其ListSource屬性﹐此屬性作用于連接其它資料來源﹐通常會設定為另一個已經連接上資料表的DataSource元件﹒ 三﹒設定其ListField屬性﹐此屬性作用于指定擷取來源資料表中的欄位名稱﹒ 四﹒設定其KeyField屬性﹐此屬性作用于指定兩個資料表間的關聯性依据欄位名稱.    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-11-25 23:32:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!