Как я могу заполнить список в выбранном выпадающем списке в VFP? - PullRequest
0 голосов
/ 03 сентября 2018

Например, в выпадающем списке были данные категорий в таблице1, и я хочу заполнить список из второй таблицы подкатегорией, где категории = выпадающий список.

1 Ответ

0 голосов
/ 03 сентября 2018

Какое совпадение (?), Я только что ответил на аналогичный вопрос. Этот код взят из этого ответа и немного изменен для использования таблиц категорий и продуктов базы данных Northwind (подкатегория для вас):

Public oForm
oForm = Createobject('SampleForm')
oForm.Show()


Define Class SampleForm As Form
    Height = 800
    Width=600
    DataSession = 2
    Add Object cmbCategories As ComboBox With Top=10, Left=10, Width=250
    Add Object lstProducts As ListBox With Top=10, Left=280, Height=780, Width=310

    Procedure Init
        With This.cmbCategories
            .RowSourceType = 3 && -SQL
            .RowSource = "select CategoryName, CategoryId from ('"+;
                _Samples+;
                "Northwind\Categories') into cursor crsCategories nofilter"
            .ListIndex=1
        Endwith
        With This.lstProducts
            .RowSourceType = 3 && -SQL
            .RowSource = "select ProductName, ProductId from ('"+;
                _Samples+;
                "Northwind\Products') p"+;
                " where p.CategoryId = crsCategories.CategoryId"+;
                " into cursor crsProducts nofilter"
        Endwith
    Endproc

    Procedure cmbCategories.InteractiveChange
        With Thisform.lstProducts
            .ListIndex = 0
            .Requery()
        Endwith
    Endproc
Enddefine
...