熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi 開發數據庫控件的方法[2]

2013-11-11 21:06:55  來源: Delphi編程 

  下面我們將上面提供的一段代碼作如下修改

   j:=;
   j:=FDataLinkDataSourceDataSet FieldCount;
   I:=;
   repeat
   itemsAdd (FDataLinkDataSetFields[I]DisplayName );
   //在items屬性中加入DisplayName的值
   I:=I+;
   until I>j-;

  另外還要加入下面一段代碼來判斷顯示的DisplayName和哪個FieldName相對應

  function TListBoxGetField:string;
  var
   Ij:integer;
  begin
  j:=FDataLinkDataSourceDataSet FieldCount ;
   for I := to j- do
   begin
   if FDataLinkDataSourceDataSetFields[I]Displayname=text then
   begin
   Result:=FDataLinkDataSourceDataSetFields[I]FieldName;
   exit;
   end;
   end;
  end;

  這樣當選擇了一個中文化的字段顯示名稱時就將返回它的真正的字段名這下用起來就更方便了就是我們將中文字段顯示在下拉框中的例子

  程序中的字段以中文顯示能夠給用戶帶來很大的方便最後下面附上這段程序的完整代碼謹供參考

unit DBFieldComboBox;
  interface
  uses
   Windows Messages SysUtils Classes Graphics Controls Forms Dialogs
   StdCtrlsdbdbctrls;
  type
   TDBFieldComboBox = class(TComboBox)
   private
   FDataLink:TFieldDataLink;
   function GetDataSource:TDataSource;
   function TListBoxGetField:string;
   Procedure SetDataSource( Value:TDataSource);
   procedure StartDrag(Sender: Tobject; var DragObject: TDragObject);
   procedure DropDown(Sender : Tobject);
   { Private declarations }
   protected
   { Protected declarations }
   public
  constructor create(Aowner:Tcomponent);override;
   destructor Destroy;override;
   { Public declarations }
   published
   property DataSource :TDataSource read GetDataSource write SetDataSource;
   property text;
   { Published declarations }
   end;

[]  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/8536.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.