普通根据值显示用:
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('北京');但是我这个ComboBox1有隐藏值ID的,我想根据ID显示默认值,因为显示值有可能会重复.
根据对象构建
ComboBox1.Items.AddObject('kk',commonBean);那这样怎么根据ID显示默认值呢?
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOfObject(......);
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('北京');但是我这个ComboBox1有隐藏值ID的,我想根据ID显示默认值,因为显示值有可能会重复.
根据对象构建
ComboBox1.Items.AddObject('kk',commonBean);那这样怎么根据ID显示默认值呢?
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOfObject(......);
ID在哪?是commonBean的一个属性吗?
那这样你还是不好根据ID来确定要显示的默认值
因为这样就要先根据ID来确定commonBean,再由commonBean来确定序号。
不如加一个TStrings对象,在创建
ComboBox1.Items.AddObject('kk',commonBean);
的同时,把ID值保存到TStrings对象当然ComboBox有Value和Name属性,但显示时都会显示出来。
因为我怕Value有一样的,这样保存的时候 ID就变了
001 北京 123
002 北京 124这样Value北京 是一样的 但是ID,123不用
本来就可以直接这样,楼主做的时候有报错还是??
调用可以用
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(...);
ComboBox1.ItemIndex:=ComboBox1.Values.IndexOf(...);