问题如下:
我有一ListBox,我想让它的一个item显示的是'abc',但选中后的值是123
'abc' 123
请问:
1.ListBox有这个功能吗?我记得ASP上的ListBox是直接带有这个功能的
2.如果delphi的ListBox没有这个功能的话,那应该怎么做才能办到?
3.有没有其他的第三方ListBox具有这个功能
我有一ListBox,我想让它的一个item显示的是'abc',但选中后的值是123
'abc' 123
请问:
1.ListBox有这个功能吗?我记得ASP上的ListBox是直接带有这个功能的
2.如果delphi的ListBox没有这个功能的话,那应该怎么做才能办到?
3.有没有其他的第三方ListBox具有这个功能
解决方案 »
- 程序实现效率的问题,请教大家
- pos打印机与条形码的相关问题
- 请问各位一个delphi中显示图片和flash的问题
- 在delphi 程序中怎样做 界面 功能 和 资源 的 完全分开 的 结构
- 季前辈,拦截pagecontrol边框的信息,该写在什么地方?
- delphi spcomm组件中Comm1ReceiveData为什么接收不到短信啊
- 重心放在数据库还是放在中间层
- 问题1、用代码创建控件?问题2、*.eml文件的内容定位?
- 高手回头看,上CSDN的理由有很多。。。。。。
- 关于独占与上锁的问题?????
- VirtualStringTree中文本如何换行
- 我在delphi中向access插入记录,老是报溢出错误,百思不得其解,帮帮忙咯
实现起来应该不难吧,在onchange事件里编程
如果abc和123之间有没有特定的转换关系呢
没的话直接用if判断赋值就行
var
AListValue : TStrings;procedure TForm1.FormCreate(Sender: TObject);
begin
AListValue := TStringList.Create;
ListBox1.Items.Add('abc');
AListValue.Add('123');
ListBox1.Items.Add('def');
AListValue.Add('456');
ListBox1.Items.Add('ghi');
AListValue.Add('789');
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
AListValue.Free;
end;procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
if ListBox1.ItemIndex >= 0 then
ShowMessage(AListValue.Strings[ListBox1.ItemIndex]);
end;
上次不是我问我,可能这种问题大家都碰到得比较多吧
没有特定的对应关系,都是取出数据中一张表
A字段 B字段
abc 123
而且数据量有可能比较大,所以你的方法不太好用
TMyData=record
name: string;
value: string;
end;
PMyData=^TMyData;var
newItem: TListItem;
lpData: PMyData;
begin
...
newItem := lvTest.Items.Add;
New(lpData);
lpData^.name:= 'abc';
lpData^.value:= '123';
newItem.Caption := lpData^.name;
newItem.Data := lpData;
...
end;取值
var
myData: TMyData;
... myData := PMyData(lvTest.Items[i].Data)^
这样就可以
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
ListBox1: TListBox;
procedure BitBtn1Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
var
s:^string;
begin
new(s);
s^:='123';
self.ListBox1.Items.AddObject('abc',TObject(s));
end;procedure TForm1.ListBox1Click(Sender: TObject);
var
s:^string;
begin
s:=Pointer(ListBox1.Items.Objects[self.ListBox1.ItemIndex]);
showmessage(s^);
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
IntI:Integer;
begin
for IntI:=self.ListBox1.Items.Count-1 downto 0 do
begin
Dispose(Pointer(ListBox1.Items.Objects[IntI]));
end;
end;end.