【发布时间】:2020-11-06 16:38:35
【问题描述】:
我希望我能得到我想要的答案……我已经阅读了很多关于它的东西,但一无所获 所以这就是事情 我有一个从数据库中获取数据的 DBVERTICALGRID 视图...(不重要) 当我按下一个名为 Edit_btn 的按钮时,我将 EditorRow 转换为 ComboBox 使用:
for I := 1 to Data_Sheet_.temp_Query.RecordCount do
begin
TcxComboBoxProperties(Job_ColorName.Properties.EditProperties).Items.Add(Data_Sheet_.temp_Query.FieldByName('Color_Name').AsString);
Data_Sheet_.temp_Query.Next;
end;
Data_Sheet_.temp_Query.First;
我得到了通过数据库中的数据填充组合框项目的正确结果...... 然后我想获取用户更改的值...(假设数据是“白色”,现在他想从 ComboBox 项目中将其更改为“蓝色”),我做了正确的设置EditorRow 使 OnChange 过程工作... ...当我想通过以下方式在 ComboBox 中显示所选值时,问题就出现了:
procedure TBindingJobEdit_.Job_ColorNameEditPropertiesChange(Sender: TObject);
begin
ShowMessage('HAHAHAH|'+' '+TcxComboBoxProperties(Job_ColorName.Properties.EditProperties).Items.Text);
end;
我得到了数据库中的所有记录,但我只想要选定的一个,比如红色或只是蓝色
【问题讨论】:
-
如果您阅读
TcxComboBoxdocumentation,您会看到Properties.Items包含下拉列表中的所有项目,TcxComboBox.ItemIndex包含所选项目的索引。 -
@RemyLebeau 是的,我读过它,我在问题中提到它返回数据库中的所有值,我想要选择一个......但至于
ItemIndex我不能找到任何东西,我的意思是在其属性中没有ItemIndex的记录,如果是我的代码,你可以在任何地方找到Combobox.ItemIndex,但如果是我的代码,我找不到它 -
那是因为您访问的是
TcxComboBoxProperties,而不是TcxComboBox本身。ItemIndex是TcxComboBox的属性,而不是TcxComboBoxProperties的属性。您要查找的值在TcxComboBox.Properties.Items[TcxComboBox.ItemIndex] -
@RemyLebeau 我厌倦了你说的话,但你不会相信的。
TcxComboBox.(Sometimes has Properties and sometimes it doesn't have)然后当它有Properties时,它没有Items我的意思是完全没有运气它 -
我不明白你在描述什么。组件属性不只是消失和重新出现。
标签: delphi devexpress vcl