首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于ComboBox.Items.AddObject用法解决方案

2013-03-27 
关于ComboBox.Items.AddObject用法之前在代码中增加了ComboBox.Items.AddObject(一班,4)ComboBox.Ite

关于ComboBox.Items.AddObject用法
之前在代码中增加了


ComboBox.Items.AddObject('一班','4');
ComboBox.Items.AddObject('二班','5');
ComboBox.Items.AddObject('三班','6');


这时ComboBox.ItemIndex对应如下:
ComboBox.ItemIndex=0,ComboBox.Text='一班'
ComboBox.ItemIndex=1,ComboBox.Text='二班'
ComboBox.ItemIndex=2,ComboBox.Text='三班'
然而数据库中存储的为'4','5','6',获取5 时,我应该如何设置ComboBox,使ComboBox.Text显示为'二班'呢? ComboBox
[解决办法]
写了个小例子, XE测试通过

定义窗体的私有变量是为了保证期在有效范围内的可用性

unit Unit13;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  PClz = ^TClz;
  TClz = record
    Name : string;
    ID : integer;
  end;

  TForm13 = class(TForm)
    cbb1: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure cbb1Change(Sender: TObject);
  private
    { Private declarations }
    Clzs : array of TClz;    //Clzs要保证在TForm13中始终有效, 所以在此定义
  public
    { Public declarations }
  end;

var
  Form13: TForm13;

implementation

{$R *.dfm}

procedure TForm13.cbb1Change(Sender: TObject);
begin
  with cbb1.Items do
  begin
    ShowMessage(IntToStr(PClz(Objects[IndexOf(cbb1.Text)]).ID));
  end;
end;

procedure TForm13.FormCreate(Sender: TObject);
begin
  SetLength(Clzs, 3);
  Clzs[0].Name := '一班';
  Clzs[0].ID := 4;
  Clzs[1].Name := '二班';
  Clzs[1].ID := 5;
  Clzs[2].Name := '三班';
  Clzs[2].ID := 6;

  cbb1.Clear;
  cbb1.Items.AddObject(Clzs[0].Name, @Clzs[0]);
  cbb1.Items.AddObject(Clzs[1].Name, @Clzs[1]);
  cbb1.Items.AddObject(Clzs[2].Name, @Clzs[2]);
end;

end.







[解决办法]
引用:
引用:写了个小例子, XE测试通过

定义窗体的私有变量是为了保证期在有效范围内的可用性
Delphi/Pascal code?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555……

itemindex是下标, 不用设置...

你能取到ID, 就是知道cbb绑定的对象了
获得下标的方法 : cbb1.Items.IndexOfObject(对象)
设置当前项方法: cbb1.ItemIndex := cbb1.Items.IndexOfObject(对象)

如果知道ID, 不知道对象, 则遍历cbb1.items的对象, 对比ID并获得下标

热点排行