Delphi устанавливает ComboEdit Item из строки? - PullRequest
0 голосов
/ 11 февраля 2019

В настоящее время я отображаю «товар» в ListView, у списка есть статья, количество, iemsls и имя.

В DoubleClick элемента я хочу прочитать переменные и поместить их в поле TEdit, а 'iemsls' в ComboEdit, в котором предварительно записаны элементы, как я могу проверить, какой элемент из ComboEdit равен одному и тому же?как для строки и установить его на это?

      igiDoubleTap:
     begin
     global_norakstisanadoc_editing := true;
     SelectedItemIndex := F_SS_MAIN.ListView2.Selected.index;

     ListView2.Enabled := false;
     SpeedButton6.Enabled := false;
     SpeedButton7.Enabled := false;

     quant_bef := (TListItemText(F_SS_MAIN.ListView1.Items.AppearanceItem[index].Objects.FindDrawable('Text2')).Text);
     quant_aft := StringReplace(quant_bef, 'gb', '', [rfReplaceAll, rfIgnoreCase]);

     Edit_artikuls_norakstisana.Text := ListView2.Items.Item[SelectedItemIndex].View.FindObject('artikuls').Data.ToString;
     edit_daudzums_norakstisana.Text := quant_aft;
     label_prece_from_ean.Text := ListView2.Items.Item[SelectedItemIndex].View.FindObject('prece').Data.ToString;

     ComboEdit := ListView2.Items.Item[SelectedItemIndex].View.FindObject('iemsls').Data.ToString;

     end;

В настоящее время это метод DoubleTap, который я использую

1 Ответ

0 голосов
/ 11 февраля 2019

В VCL и FMX свойство TComboBox.Items является объектом TStrings, у которого есть метод IndexOf(), а TComboBox имеет свойство ItemIndex для установки текущего выбранного элемента по индексу.

Итак, попробуйте это:

ComboEdit1.ItemIndex := ComboEdit1.Items.IndexOf(
  ListView2.Items.Item[SelectedItemIndex].View.FindObject('iemsls').Data.ToString
);
...