Cytat: Wlasciwie to znalazlem juz jak to ma byc:
ListBox.AddItem ComboBox.Value
Aczkolwiek wyszedl przy tym nastepny problem, bowiem w ComboBoxie zrodlem danych jest kwarenda ktora zwraca 4 pola, np. Imie, Nazwisko, Adres, Miasto. Dane te wyswietlaja sie gdy lista Combo Boxa jest rozwinieta ale po wybraniu w Combo Boxie pojawia sie tylko wartosc z pierwszej kolumny. Po skopiowaniu do ListBoxa pojawia sie tam rowniez tylko ta wartosc. Jak wiec zrobic aby w ComoboBoxie po wybraniu pojawialy sie wartosci z wiecej niz jednej kolumn, i czy da sie je pozniej skopiowac w ten sam sposob do List Boxa?
Pozdrawiam
Niestety, nie ma możliwości wyświetlenia więcej niż jednej kolumny w polu edycji ComboBox. Wyświetlana wartość zawsze będzie pobierana tylko ze skrajnej, lewej kolumny. Jeżeli lewa kolumna zawiera wartości inne, niż te, wg. których ma następować wybór wartości, to można ją ukryć, nadając tej kolumnie szerokość równą 0. Wtedy będa wyświetlane wartości z następnej, widocznej kolumny.
Wartości z innych kolumn możesz przenieść do ListBox wp. w taki sposób:
Private Sub CommandButton1_Click()
Dim IndexCmb As Long
Dim IndexLst As Long
IndexCmb = ComboBox1.ListIndex
If IndexCmb > -1 Then
With ListBox1
.AddItem ComboBox1.Column(0, IndexCmb)
IndexLst = .ListCount - 1
.Column(1, IndexLst) = ComboBox1.Column(1, IndexCmb)
.Column(2, IndexLst) = ComboBox1.Column(2, IndexCmb)
.Column(3, IndexLst) = ComboBox1.Column(3, IndexCmb)
End With
End If
End Sub
Oczywiście, zakładam, że ListBox jest również czterokolumnowy.
Pozdrawiam |