Хотя по умолчанию число колонок в listbox равно одной, listbox в Visual FoxPro может содержать столько колонок, сколько вам требуется. Многоколонный listbox отличается от элемента управления класса grid тем, что вы выбираете целую строку в многоколонном listbox, тогда как в grid вы можете выбрать индивидуальную ячейку и, кроме того, данные в списке не могут редактироваться непосредственно.
Для отображения множества колонок в listbox
-
Установите свойство ColumnCount в желаемое число колонок.
-
Установите свойство ColumnWidths. Например, если вы определили для listbox три колонки, то приведенная ниже команда установит их ширину равной соответственно 10, 15 и 30:
Скопировать кодTHISFORM.listbox.ColumnWidths = "10, 15, 30"
-
Установите свойство RowSourceType в значение 6 - Fields
. -
Установите свойство RowSource в имена полей, которые будут отображены в колонках.
ЗамечаниеДля корректного выравнивания колонок, вам необходимо либо установить значение свойства ColumnWidths или изменить значение свойства FontName в моноширинный шрифт (например, в Courier). Свойство FirstElement для элементов управления ListBox и ComboBox игнорируется для многоколонных списков.
Когда свойство RowSourceType списка установлено в 0 - None (Не определено), вы можете использовать метод AddListItem для ввода элементов в многоколонный listbox. Например, приведенный ниже пример кода добавляет текст в конкретную колонку в listbox:
Скопировать код | |
|---|---|
THISFORM.lst1.ColumnCount = 3
THISFORM.lst1.Columnwidths = "100,100,100"
THISFORM.lst1.AddListItem("row1 col1", 1,1)
THISFORM.lst1.AddListItem("row1 col2", 1,2)
THISFORM.lst1.AddListItem("row1 col3", 1,3)
THISFORM.lst1.AddListItem("row2 col2", 2,2) | |



