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

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.
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...

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