Компонент Delphi ValueListEditor

Компонент Delphi ValueListEditor расположен на странице Additional Палитры компонентов. Это полезный компонент представляющий список строк, которые содержат имя и значение.

Компонент состоит из двух колонок первый имеет заголовок Key, для имен, второй - Value, для значений. При желании данные заголовки легко изменить используя свойство TitleCaptions. Нажав на многоточие напротив этого свойства мы попадаем в редактор, где первая строка соответствует первой колонке (это имена), вторая - второй колонке (это значения).

редактор компонента ValueListEditor

редактор компонента ValueListEditor

Основное свойство компонента ValueListEditor - Strings, в нем находится список всех строк (они хранятся в виде Ключ=Значение). Его можно задать в Инспекторе объектов, используя редактор строк или программно. При соответствующих разрешениях (см. ниже) данные можно добавлять, редактировать и удалять в работающем приложении.

Свойство KeyOptions определяет возможности пользователя по редактированию значений компонента в приложении:

  • keyEdit - при значении равным TRUE, редактирование возможно;
  • keyAdd - при значении равным TRUE, возможно добавление строк. Для этого надо воспользоваться клавишей Insert или находясь на последней строке нажать клавишу "стрелка вниз";
  • keyDelete - при значении равным TRUE, возможно удаление строки нажатием клавиши "Delete";
  • keyUnique - при значении равным TRUE, невозможно создать новую строку с таким же ключом который есть уже в списке. Произойдет исключительная ситуация.

Свойство DisplayOptions задает следующие значения:

  • doColumnTitles - Отображается верхняя строка компонента. (значение TRUE);
  • doAutoColResize - автоматически изменяется ширина колонок в компоненте, при изменении его самого;
  • doColFixed - запрещает изменение ширины колонки с ключами.

С помощью свойства Options можно устанавливать различные возможности оформления таблицы (например отображение вертикальных и горизонтальных линий).

Доступ к ключам и значениям может происходить различными способами. При помощи метода Cells[ACol, ARow: Integer]. ACol =1 соответствует соответствует колонке значений -  ACol = 0 -  колонке имен. ARow =0 обращается к строке заголовка, ARow > 0 обращается к строкам компонента.

Доступное только для чтения свойство RowCount сообщает сколько у нас строк, включая заголовок.

Метод для добавления новой записи:

function InsertRow(const KeyName, Value: string; Appand: Boolean): integer;

Для удаления:

Procedure DeleteRow(ARow: Integer);

пример с компонентом ValueListEditor

На форме расположим 2 компонента Edit и label, 1 компонент ValueListEditor  и три простые кнопки.

Кнопка Нажать будет выводить ключ и значение компонента ValueListEditor. Следующая кнопка Добавить будет добавлять в данные список из компонентов Edit. И кнопка Удалить удаляет текущую строку.

Обработчик кнопки Нажать:

procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
     I := ValueListEditor1.Row;
     Label1.Caption := ValueListEditor1.Keys[I];
     Label2.Caption := ValueListEditor1.Cells[1,I];
end;

Обработчик кнопки Добавить:

procedure TForm1.Button2Click(Sender: TObject);
begin
  ValueListEditor1.InsertRow(Edit1.Text,Edit2.Text,true);
end;

Обработчик кнопки Удалить:

procedure TForm1.Button3Click(Sender: TObject);
begin
   ValueListEditor1.DeleteRow(ValueListEditor1.Row);
end;

Итог: мы познакомились с компонентом ValueListEditor, его возможностями и применением в приложении.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

5 thoughts on “Компонент Delphi ValueListEditor

    • Нужно создать обработчик события FormCreate (дважды кликнуть на форме) со следующим кодом:

      procedure TForm1.FormCreate(Sender: TObject);
      var
      I : Integer;
      begin
      for I:= 1 to 2 do
      ValueListEditor1.InsertRow(‘ ‘,’  ‘,true);
      end;

      Где с помощь переменной I можно регулировать количество вставляемых пустых строк.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>