Merhabalar ,
Combobaxa veritabanından veri çekiyorum,
Örn: Ev , Evli , Evcil , Evcilik ,Evlilik , Saman , Susam , Sosis ,
Bunları combobox a atıyorum comboboxa i harfini girdiğimde (Evli,Exlivlik,Evclil..,Sosis) gelmesini istiyorum.
Not : AutoCompleteMode ve AutoComplateSoruce kullanıyorum farkar ilk karakterle göre işlem yapıyor bunlar.
gerekirse küçük ücretli yardımda alabilirim.
C# Combobox harfe göre listeleme
4
●621
- 19-07-2018, 22:17:40
- 20-07-2018, 09:10:23KeyPress eventi içine;
comboBox1.SelectedIndex=comboBox1.Items.Contains(e.KeyChar) ? comboBox1.Items.indexOf(e.KeyChar) : 0;
kullanabilirsiniz ama ilk sonucu gösterecektir.
Birden fazla sonuç varsa hata da verebilir tam emin olamadım şimdi 😂😂 - 20-07-2018, 22:27:06
public int enBykBul(ref int[,] dizi) { int enByk = 0 , index = 0; for (int i = 0; i < dizi.GetLength(1) - 1; i++) { for (int j = 1; j < dizi.GetLength(1) - i; j++) { if (dizi[0, j] > enByk) { enByk = dizi[0, j]; index = dizi[1, j]; } } } return index; } private void btnAra_Click(object sender, EventArgs e) { string aranan = comboBox1.Text; // büyük küçük harfe duyarsız yapmak için aranan ve itmKrtrs kısımlarında ToLower() kullanılabilir. int[,] liste = new int[2, comboBox1.Items.Count]; // esleşme ve combo indexleri için for (int x = 0; x < comboBox1.Items.Count; x++) { if (aranan.Length > comboBox1.Items[x].ToString().Length) // aranan itemden büyükse es geç continue; string itmKrtrs = comboBox1.Items[x].ToString(); int eslesme = 0; for (int i = 0; i < aranan.Length; i++) { if (i >= itmKrtrs.Length) break; if (aranan[i] == itmKrtrs[i]) ++eslesme; else i = aranan.Length; // eşleşmediyse döngüden çık liste[0, x] = eslesme; // eslesme sayıları liste[1, x] = x; // combobox sıra } } int index = enBykBul(ref liste); // en çok eşleşme olan indexi döndürür. if (index != 0) comboBox1.SelectedIndex = index; // listenin başındakini seç else MessageBox.Show("Aradığınızı bulamadık :(", "Info", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }Böyle birşeyler yazdım, aranacak itemi comboboxa yazdıktan sonra butona basınca arama yapıyor ve en çok eşleşme olan itemi seçiyor. Kodlar üzerinde çok kafa yormadım belki daha performanslı bir hale getirebilirsiniz.