我的表单上有一个保存按钮,它循环遍历tcxgrid的所有行并读取其值。我试图读取其中一个列中的组合框的值,但是我需要读取Key值而不是它的文本。
for I := 0 to tv.DataController.RecordCount - 1 do
begin
Location := tv.DataController.Values[I, colLocation.Index];
end;
colLocation是组合框,但这样做会使我选择的文本不是ItemIndex值。有线索吗?
感谢
答案 0 :(得分:2)
如果您询问如何在当前网格行的ComboBox Items属性中获取数字索引,则可以使用此类代码执行此操作
procedure TForm1.ProcessComboBox;
var
I,
Index : Integer;
S : String;
V : OleVariant;
begin
for I := 0 to tv.DataController.RecordCount - 1 do
begin
V := tv.DataController.Values[I, colLocation.Index];
S := V;
// if the RepositoryItem of colLocation is set to cxEditRepository1ComboBoxItem1
// you can do
Index := cxEditRepository1ComboBoxItem1.Properties.Items.IndexOf(S);
// OR, if the Properties property of colLocation is set to ComboBox you could do
// Index := TcxComboBoxProperties(colLocation.Properties).Items.IndexOf(S);
S := IntToStr(Index);
Caption := S;
end;
end;
如果这不能回答您的问题,那么您最好能够准确地解释您做想要的内容。