循环cxGrid时如何访问TcxEditRepositoryComboBoxItem中的选定项目?
How to access selected item in TcxEditRepositoryComboBoxItem when looping cxGrid?
我的表单上有一个保存按钮,它循环遍历 tcxgrid 的所有行并读取其值。我正在尝试读取其中一列中的组合框的值,但我需要读取键值而不是它的文本。
for I := 0 to tv.DataController.RecordCount - 1 do
begin
Location := tv.DataController.Values[I, colLocation.Index];
end;
colLocation 是组合框,但这样做给我选择的文本而不是 ItemIndex 值。有什么线索吗?
谢谢
如果您询问如何获取当前网格行的 ComboBox 项 属性 中的数字索引,您可以使用这样的代码
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;
如果那不能回答您的问题,您最好准确解释您做什么想要什么。
我的表单上有一个保存按钮,它循环遍历 tcxgrid 的所有行并读取其值。我正在尝试读取其中一列中的组合框的值,但我需要读取键值而不是它的文本。
for I := 0 to tv.DataController.RecordCount - 1 do
begin
Location := tv.DataController.Values[I, colLocation.Index];
end;
colLocation 是组合框,但这样做给我选择的文本而不是 ItemIndex 值。有什么线索吗?
谢谢
如果您询问如何获取当前网格行的 ComboBox 项 属性 中的数字索引,您可以使用这样的代码
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;
如果那不能回答您的问题,您最好准确解释您做什么想要什么。