Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > необновляется DataCombo


Автор: Golem 24.5.2005, 16:15
использую DataCombo с Datalist Control-а
после того как
Код

    adoRs.Filter = StrS
    Set cmbUser.DataSource = adoRs
    Set cmbUser.RowSource = adoRs
    cmbUser.BoundColumn = "id"
    cmbUser.ListField = "FIO"
    cmbUser.ReFill
    cmbUser.Refresh

DataCombo непоказывает отфильтрованное поле, а всю информацию, как будто фильтра и небыло. я и параллелно DataGrid подключил, сним все нормально, филтр работает. smile
незнаю что делать

Автор: Golem 25.5.2005, 07:01
smile ктонибудь вообще использовал этот контрол smile

Автор: Gannibal 25.5.2005, 07:38
Цитата(Golem @ 25.5.2005, 06:01)
ктонибудь вообще использовал этот контрол


даже незнаю может и нет, может и да прикрепи целый код ... чтобы посмотреть ;) может тогда сможем помочь а то я непонял из него что здесь что., хотя понятно но не очень

Автор: Golem 25.5.2005, 08:18
Дело в том что есть таблица(adors) студентов со своими признаками (курс, группа, ID). CmbCourse отфильтровывает по курсу , а CmbGroup по группе или оба одновременно.
при этом результат фильтров(имена определенных стдентов, определенных групп иопределеного курса) должен отражатся в cmbUser(DataCombo).НО этого не происходит cmbUser показывает имена всех студентов.


Код

Private Sub CmbCourse_Click()
    strCrs = "(course=" & Str(CmbCourse.ListIndex + 1) & ")"
    useFilter
End Sub
Private Sub CmbGroup_Click(Area As Integer)

    If Not (CmbGroup.SelectedItem) Then
        strGrp = "(group=" & Str(CmbGroup.SelectedItem) & ")"
        useFilter
   End If

End Sub
Sub useFilter()
    Dim StrS As String
    If Trim(strCrs) <> "" Then
        If Trim(strGrp) <> "" Then
            StrS = strGrp & " and " & strCrs
        Else
            StrS = strCrs
        End If

    Else
        StrS = strGrp
    End If

    adoRs.Filter = StrS
 
    Set cmbUser.DataSource = adoRs
    Set cmbUser.RowSource = adoRs
    cmbUser.BoundColumn = "id"
    cmbUser.ListField = "FIO"
            
    cmbUser.ReFill
    cmbUser.Refresh
End Sub

дале вложенный файл с рисунком этой формы

Автор: Gannibal 26.5.2005, 07:40
попробуй поставить cmbUser.Update там где туебя cmbUser.Refresh конечно может что то непонял.. .. невыспался smile

Код

    adoRs.Filter = StrS
    Set cmbUser.DataSource = adoRs
    Set cmbUser.RowSource = adoRs
    cmbUser.BoundColumn = "id"
    cmbUser.ListField = "FIO"
    cmbUser.ReFill
    cmbUser.Update
    cmbUser.MoveFirst

Автор: Golem 26.5.2005, 11:24
Цитата(M @ 26.5.2005, 07:40)
попробуй поставить cmbUser.Update там где туебя cmbUser.Refresh конечно может что то непонял.. .. невыспался

может...
Update метода у DataCombo просто нет smile

Автор: Gannibal 26.5.2005, 17:37
Цитата(Golem @ 26.5.2005, 10:24)
Update метода у DataCombo просто нет smile


а точно извеняюсь .. перепутал..


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)