大家好,我在这里求救了,我先把问题描述一下。我要做一个分类管理项目,以SortID为关联值比较。我举个例子。
类别表 sortsSortID SortName
212 数码产品
213 电脑配件
214 手机通讯
215 办公设备
216 软件工具
产品表 ChanpingCPID SortID CPname
1 213 主板
2 213 显卡
3 213 硬盘
4 212 数码相机
5 212 摄像头
6 212 商务PDA
7 215 传真机
8 215 复印机
9 215 投影机用Combobox下拉框怎么实现产品的类别修改,我发现combobox可以用 ADOQuery1.First;
while not ADOQuery2.Eof do
begin ComboBox1.AddItem(ADOQuery2.fieldbyname('SortName').asstring,
TObject(ADOQuery2.fieldbyname('SortID').asstring));
ADOQuery2.Next; end;这样可以正常显示SortName,可以选择操作,但我不知道如何接收SortID。
我在网上找了很多天,Edit1.text:=string(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);这样接收的结果还是SortName的内容。有时候还是随机值,类似乱码一样。
我需要SortName来显示内容,供用户选择,需要SortID来保存到数据库中。我以前用ASP做网页,这个问题就很好解决,因为ASP的下拉框本身就有两个值。
<input name="SortName" type="text" value="SortID" >
还有人建议
ComboBox1.Items.AddObject('显示数据',TObject('实际需要数据'));
或
ComboBox1.AddItem('显示数据',TObject('实际需要数据'));获取时:String(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);关键是获取时编译器会报错。
不知道在delphi里应该怎么实现这个功能,我在网上下载了很多类似的源码,我注意到一点
几乎都是直接存取类的名称,根本没有用到ID值来关联分类,因为我是初学实在是找不到我想要的方法。请大家帮帮忙。谢谢
listsource 类别表
listfield SortName
keyfield SortIDdatasource 产品表
keyfield SortId
TDBLOOKUPCOMBOBOX控件因为要多加一个数据源控件,我不喜欢太多控件,控件越少越好,呵呵!