使用TDBListBox组件

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值