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

📄 实例——使用tdblistbox组件.txt

📁 Delphi 7组件应用实例 书籍语言: 简体中文 书籍类型: 程序设计 授权方式: 免费软件 书籍大小: 105 KB
💻 TXT
字号:
unit Udblistbox;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, ExtCtrls, DBCtrls, DBTables;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table1: TTable;
    DBNavigator1: TDBNavigator;
    Table1CustNo: TFloatField;
    Table1Company: TStringField;
    Table1Country: TStringField;
    DBListBox1: TDBListBox;
    Label1: TLabel;
   // procedure Button1Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
   // procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      //Rect: TRect; State: TOwnerDrawState);
    //procedure ListBox1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{procedure TForm1.Button1Click(Sender: TObject);
begin
dbgrid1.UpdateAction()
end;}

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
//listbox1.Visible:=true;
end;

{procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
 var
  i: Integer;     //定义循环变量
 begin
   for i:=0 to(listBox1.Items.Count-1) do    //通过循环对选中的Item进行定位
   begin
     if listBox1.Selected[i] then  //定位后,开始修改
     begin  
       Table1.Edit;   //使数据库表处于编辑状态,便于修改
       Table1.FieldByName('Country').AsString:=listbox1.Items.Strings[i];
       //将在ListBox中选中的内容赋给当前记录的Country字段
       Table1.Post;    //把修改后的变化存入数据库表
     end;
    end;
  end;
 procedure TForm1.ListBox1DblClick(Sender: TObject);
 var
  i: Integer;     //定义循环变量
 begin
   for i:=0 to(listBox1.Items.Count-1) do    //通过循环对选中的Item进行定位
   begin
     if listBox1.Selected[i] then  //定位后,开始修改
     begin
       Table1.Edit;   //使数据库表处于编辑状态,便于修改
       Table1.FieldByName('Country').AsString:=listbox1.Items.Strings[i];
       //将在ListBox中选中的内容赋给当前记录的Country字段
       Table1.Post;    //把修改后的变化存入数据库表
     end;
    end;
 end; }
procedure TForm1.FormShow(Sender: TObject);

 begin
  dblistbox1.Items.Clear;
  table1.First;
 while not table1.Eof do
   begin
    dblistbox1.Items.Add(table1.Fields[1].Value);
    table1.Next;
   end;
   end;
procedure TForm1.DBListBox1DblClick(Sender: TObject);
var
  i: Integer;     //定义循环变量
 begin
   for i:=0 to(dblistBox1.Items.Count-1) do    //通过循环对选中的Item进行定位
   begin
     if dblistBox1.Selected[i] then  //定位后,开始修改
     begin
       Table1.Edit;   //使数据库表处于编辑状态,便于修改
       Table1.FieldByName('company').AsString:=dblistbox1.Items.Strings[i];
       //将在DBListBox中选中的内容赋给当前记录的company字段
       Table1.Post;    //把修改后的变化存入数据库表
     end;
    end;
 end;

end.

⌨️ 快捷键说明

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