vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest wtorek, 18 czerwca 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Tworzenie listy z ComboBox-a


otwartyotwarty rozpoczął: blackbolek postów: 7



napisał: popbart
postów: 56


umieszczony:
11 września 2006
08:36

  
Ja bym to zrobił, scalając pola w kwerendzie do jednej wartości oraz dodał jakiś separator w stylu "|".
napisał: jottad
postów: 118


umieszczony:
11 września 2006
00:27

  
Cytat:
Kiedyś, jak potrzebowałem ComboBoxa z wieloma kolumnami, połączyłem dwie kontrolki, ComboBox1 i ListBox1. ListBox1.Visible ustawiałem na False. Pokazywanie ListBox1 obłużyłem przez
Private Sub ComboBox1_DropButtonClick()
  If ListBox1.Visible = False Then
    ListBox1.Visible = True
  Else
    ListBox1.Visible = False
  End If
End Sub

i oczywiście jeszcze inny kod potrzebny do obslugi tej pary kontrolek.


Sorry, ale nie rozumiem przewagi tego rozwiązania nad zwykłą kontrolką. Przecież ComboBox może wyświetlić wielokolumnową listę, więc po co ten ListBox?
napisał: Trebor
postów: 1209


umieszczony:
10 września 2006
20:06

  
Hej
Jottad mnie wyprzedził, ale jak już napisałem to też zamieszczę ;)
Private Sub CommandButton1_Click()
If ComboBox1.Value <> "" Then
ListBox1.AddItem ComboBox1.List(ComboBox1.ListIndex, 0)
ListBox1.List(ListBox1.ListCount - 1, 1) = ComboBox1.List(ComboBox1.ListIndex, 1)
ListBox1.List(ListBox1.ListCount - 1, 2) = ComboBox1.List(ComboBox1.ListIndex, 2)
ListBox1.List(ListBox1.ListCount - 1, 3) = ComboBox1.List(ComboBox1.ListIndex, 3)
End If
End Sub

napisał: jottad
postów: 118


umieszczony:
10 września 2006
19:55

  
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
napisał: blackbolek
postów: 2


umieszczony:
9 września 2006
22:38

  
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
napisał: blackbolek
postów: 2


umieszczony:
9 września 2006
22:14

  
Witam,

Chcialbym stworzyc liste wybranych przez uzytkownika pozycji z ComboBoxa. Na razie wyglada to tak: ComboBox, obok przycisk "Zapamietaj" i pod spodem List Box. W momencie wcisniecia przycisku aktualnie wybrana wartosc (tekst) w Combo Boxie powinna zostac skopiowana do List Boxa jako nastepna linia.
Generalnie to chyba ma byc tak:

ListBox.AddItem ComboBox.Selection

ale nie wiem dokladnie. Bardzo prosze o pomoc.

Dzieki.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z