一个关于ComboBox和数据库的问题。(100分)

  • 主题发起人 主题发起人 大胃王
  • 开始时间 开始时间

大胃王

Unregistered / Unconfirmed
GUEST, unregistred user!
我做一个小软件,遇到一个问题:
有一个ComboBox组件,他的Items是来自一个表的(table name: paycategory)。
表(paycategory)是可以通过软件增、删、改的。所以ComboBox的items需要动态生成。
但是我希望提取的数据(用来存入另一张表的数据)不同于在ComboBox里显示的数据。

同样的问题,在ASP里,是用<option value='key_id'>showed text</option>方式。
但在ComboBox里好像除了Items里的Strings就只能用Objects对象了。
Strings用于显示;Objects用于存储 记录了我需要的数据的对象。

然而,我怎么为Objects赋值呢。
由于数据来自另一个表,我把TField对象赋给他吗?
 
combobox.items.addobject(caption,point)
可以查一帮助
 
谢谢antic_ant,我尝试过了,
好像还有问题似的。

to all:
为了更快的求得答案,我重新提问并提高了问题的分数,
请到http://211.101.4.25/delphibbs/dispq.asp?lid=610886帮助我。
谢谢大家,不要在这里做解答了,过些时候,我将删除这条问题。
 
呵呵,你是不是想在ASP里动态地加入select的option项?
如果是的话我可以把代码贴出来,前几天刚作出来的!
 
to Dephic:
谢谢。
呵呵,不好意思,可能是我说的不清楚。

我的意思是说:
在asp里,我可以在“<option>”和“</option>”标签中间表示我希望客户看到的信息。
在<option value=xxxx>中描述我希望自己提取到的数据。

我想知道的是在Delphi里,怎么实现同样的功能。
比如,在ComboBox.Items.Strings里记录可以被看到的可选项。
在Objects属性里记录我要提取的数据,
但是,有一些问题,我解决不了。
http://211.101.4.25/delphibbs/dispq.asp?lid=610886有更详细的说明。
 
奥,你的意思我明白!
我想问问你要返回的值,和你要在下拉框里看到的文本是不是在某个表里的同一记录?
如果是的话,我想用case就可以解决了:

1。先从表中读出要显示的文本到下拉框中
2。
for i:= 1 to tablename.recordcount do
begin
if selectname.text=tablename.fieldbyname('xxx').asstring
then result := tablename.fieldbyname('yyy').asstring;
tablename.next;
end;
没试验过不知行不行,你可以一试!
 
这种办法是可行的,
但是,如果存在相同的被选项呢?
就是说key_id值不同,但caption值相同,
那不就?
 
也是,但有一个问题我想问一下,就是当有相同的caption值时, 如果你的输入里又只显示
caption的值,那客户输入时又如何知道是以哪个key_id的值来输入呢?那不也是白搭了?
我想,如果用这种方式来输入的话!就不能让它有相同的caption值,除非你是同时显示
key_id和caption,但还是有问题,你的key_id只是一个客户并不懂的编号,就是反它显示
出来了,客户也难以知道哪个到底是哪个!除非这个key_id是像学号一样,是被人所知的!
 
caption的显示是可以和排列顺序有关的。
上下文的关联会提示使用者。
 
谢谢两位
 
后退
顶部