combobox sugestie po value, lub sugestie po wpisanym tekście

Odpowiedz Nowy wątek
2013-11-18 01:07

Rejestracja: 7 lat temu

Ostatnio: 1 rok temu

0

A więc stworzyłem combo boxa - nazwijmy go comboBox4.
Stworzyłem też listę itemów:

List<cbItem> cbItemDictionary = new List<cbItem>();

Utworzyłem klase cbItem:

public class cbItem
        {
            public string Value { get; set; } //NUMER
            public string wyświetl { get; set; } //NUMER + KLIENT
            public cbItem()
            { 

            }
            public cbItem(string nValue, string nKlient)
            {
                Value = nValue; // valu member
                wyświetl = nValue + " - " + nKlient; // << display member
            }
            public override string ToString()
            {
                return Value;
            }
            public string ReturnValue()
            {
                return Value;
            }
            public string ReturnWyswietl()
            {
                return wyświetl;
            }
        }

Zapełniając ją:

foreach (DataRow dr in zamowienia.Rows)
            {
                cbItem item = new cbItem(dr["dok_NrPelny"].ToString(), dr["kh_Symbol"].ToString());
                cbItemDictionary.Add(item);
            }

I uzupełniając danymi comboboxa:

            comboBox4.DataSource = new BindingSource(cbItemDictionary, null);
            comboBox4.DisplayMember = "wyświetl";
            comboBox4.ValueMember = "Value";

Jednak chciał bym stworzyć pewną możliwość, gdy ktoś będzie wpisywał text do Combobox4.text, chciał bym aby tablica sugerowanych wyników się zawężała się po Value, a dokładniej po jego części.

  1. Jak zmienić, po czym combobox ma sugerować "podpowiedzi"?
    lub
  2. czy jest możliwość, żeby combobox sugerował się "po części teksu", czyli np jezeli mam wartość: "ZK 1/MG/2003 - test", zeby po wpisaniu w combobox.text sugestie pojawiały się już po wpisaniu np "2003" ?
    Przepraszam za chaotyczność pytania, w razie wątpliwości pilnuje wątku,aż do rozwiązania:)
    Z góry dziękuje za pomoc.

Pozostało 580 znaków

2013-11-18 03:57
Moderator

Rejestracja: 12 lat temu

Ostatnio: 58 sekund temu

Lokalizacja: Wrocław

0

Ad. 1) Ustawić AutoCompleteSource na CustomSource, a następnie do właściwości AutoCompleteCustomSource przypisać obiekt zawierający teksty do podpowiadania.
Ad. 2) Jest. Trzeba to tylko samemu napisać (np. reagować na zdarzenie TextChanged i jakoś filtrować pokazywaną listę.

P.S. Piszesz brzydki kod, klasy i właściwości zaczynasz małą literą, do tego mieszasz nazwy polskie z angielskimi, tworzysz zbędne funkcje...


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Zaraz sprawdzę czy mi się uda zrobić to co napisałeś ;) A co do P.S - Masz racje mój kod ma jeszcze wiele niedociągnięć. Ale dziękuje za podpowiedź, na pewno zastosuje ;) - juniorchat 2013-11-18 04:42

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0