Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

c# comboBox pretraga

[es] :: .NET :: .NET Desktop razvoj :: c# comboBox pretraga

[ Pregleda: 4635 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.251.*



+18 Profil

icon c# comboBox pretraga12.03.2010. u 12:16 - pre 170 meseci
Pozdrav svima.

Interesuje me kako da napravim pretragu preko comboBoxa, ali da bude naprednija u smislu da se prilikom kucanja karaktera prikazuju svi rezultati u DropDown-u (comboBox DropDownStyle).

Npr.
Ako u combo-u imam sledeće elemente:

Milan
Dragan
Marko
Nenad
Darko

Kada podesim AutoCompleteMode na Suggest i ukucam "N" u dropdown listi dobijam Nenad, ali kada ukucam "rko" ne obijam ništa, a hteo bih da dobijem "Marko","Darko"

Kako to mogu da postignem???

Hvala...
 
Odgovor na temu

3way

Član broj: 241428
Poruke: 1425



+2403 Profil

icon Re: c# comboBox pretraga12.03.2010. u 12:54 - pre 170 meseci
mislim da ces za to morati da napravis neku custom kontrolu...
Sedam sutlijasa,
za sedam samuraja,
za sedam tramvaja.
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.lanaco.com.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga12.03.2010. u 14:09 - pre 170 meseci
Ajde pokušaj ovako nekako ovo je brzinsko rešenje pa nije ništa optimizovano

nabaci combo na formu pokušaj ovako doradi pa vrati kod da vidimo šta si dobio

Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication7
{
  public partial class Form1 : Form
  {
    List<string> _fullList;
    BindingList<string> _autoCompleteList;
    string _autoCompleteText;
    public Form1()
    {
      InitializeComponent();
      _fullList = new List<string>();
      _autoCompleteList = new BindingList<string>();
      _autoCompleteText = "";
      //iniciajlni podaci za primjer
      _fullList.Add("Milan");
      _fullList.Add("Dragan");
      _fullList.Add("Marko");
      _fullList.Add("Nenad");
      _fullList.Add("Darko");
      FillAutoCompleteList();
      comboBox1.DataSource = _autoCompleteList;
      
    }

    private void FillAutoCompleteList()
    {
      _autoCompleteList.Clear();
      foreach (string str in _fullList)
      {
        if (str.Contains(_autoCompleteText))
        {
          _autoCompleteList.Add(str);
        }
      }
    }

    private void comboBox1_KeyUp(object sender, KeyEventArgs e)
    {
      _autoCompleteText = comboBox1.Text;
      int ss = comboBox1.SelectionStart;
      int sl = comboBox1.SelectionLength;
      FillAutoCompleteList();
      comboBox1.DroppedDown = true;
      comboBox1.Text = _autoCompleteText;
      comboBox1.Select(ss, sl);
    }
  }
}



 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.251.*



+18 Profil

icon Re: c# comboBox pretraga12.03.2010. u 14:46 - pre 170 meseci
E hvala puno...probaću od nedelje, pošto za vikend neću imati vremena, pa kad uradim javljam kako je prošlo...
Ako neko ima još neki predlog nek postuje....
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
91.148.94.*



+18 Profil

icon Re: c# comboBox pretraga15.03.2010. u 22:08 - pre 170 meseci
Cola legenda si :) Mislim da ce ovo mnogima koristiti...
Odlicno radi.

Jedino me jos interesuje kako da podesim da nema veze koje je slovo ukucano veliko ili malo...
Npr. ukucam malo "m" da dobijem "Milan", "Marko". na ovaj nacin ne dobijam ocekivan rezultat...

E da, zasto kad otkucam nesto u comboBox-u, i pokusam da postavim kursor na formu on "ode" iza forme???(u ovom slucaju)

 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga15.03.2010. u 22:28 - pre 170 meseci
lako
samo zamjeni da porediš npr oba toupper
Code:

private void FillAutoCompleteList()
    {
      _autoCompleteList.Clear();
      foreach (string str in _fullList)
      {
        if (str.ToUpper().Contains(_autoCompleteText.ToUpper()))
        {
          _autoCompleteList.Add(str);
        }
      }
    }

 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga15.03.2010. u 22:32 - pre 170 meseci
Što se tiče kursora ne znam ni ja i ja sam to primjetio
valda neko ima bolje rešenje
ovo mi je bilo brzinsko
vidiš da na promjenu slova presipam iz šupljeg u prazno (očito da ovo ne valja može bolje)
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: c# comboBox pretraga16.03.2010. u 16:59 - pre 170 meseci
Citat:
Cola: lako
samo zamjeni da porediš npr oba toupper
Code (csharp):

private void FillAutoCompleteList()
    {
      _autoCompleteList.Clear();
      foreach (string str in _fullList)
      {
        if (str.ToUpper().Contains(_autoCompleteText.ToUpper()))
        {
          _autoCompleteList.Add(str);
        }
      }
    }
 



Ako se postavi ToUpper metoda onda se svako slovo postavlja na veliko, javlja se problem, sada ako se kod stringa "Milan" unese il to postaje IL i ime se ne prikazuje u combobox-u.

Inace dobar program.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga16.03.2010. u 17:07 - pre 170 meseci
Mislim da nisi upravu

ja samo poredim sa ToUpper

Code:

if (str.ToUpper().Contains(_autoCompleteText.ToUpper()))
{
          _autoCompleteList.Add(str);
}


primjeti da ja nigdje i nikom ToUpper nisam pridružio. Promjenljiva str i _autoCompleteText i dalje zadržavaju svoje vrijednosti. Ja sam ih samo poredio ToUpper a kanije dodajem u listu onakvu vrednost kakva je i bila!

 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: c# comboBox pretraga16.03.2010. u 17:51 - pre 170 meseci
Znaci ako mi stoji ToUpper() onda "il" iz "Milan" mi se ne prikazuje, ali ako je bez ToUpper radi(prikazuje mi)
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga16.03.2010. u 18:11 - pre 170 meseci
Pa pazi ToUpper ne mijenja stanje promjenljive nadam se da je to jasno

ToUpper mi koristi samo da bi uporedio vrijednosti

u _fullList iz koje kupim stingove u promjenljivu str stoje sledeće vrijednosti (ove pod navodnicima)
_fullList.Add("Milan");
_fullList.Add("Dragan");
_fullList.Add("Marko");
_fullList.Add("Nenad");
_fullList.Add("Darko");
kada sa foreach kupi svaki pojedninačno ja dobijam baš te vrijednosti

u combo kada ukucaš 'il' program ne mijenjam vrijednost toga što je ukucano!
On samo radi upoređivanja digne vrijednosti ToUpper ali vrijesnost u promjenljivama i dalje ostaju onakve kakve su bile u konkretnom slučaju koji si naveo

_autoCompleteText = 'il' ali je _autoCompleteText.ToUpper() je 'IL'
dok je u promjenljivoj str vrijednost jedan iz liste npr. 'Milan' ali je str.ToUpper() je 'MILAN' a 'MILAN'. Contains('IL') je true pa se u _autoCompleteList doaje vrijednost promjenljiva str a ona je kao što sam gore napiso jedna (originalna, neizmjenjena) iz originalne liste dakle 'Milan' a ne 'Milan' ili 'milan'

ne kontam šta je nejasno
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: c# comboBox pretraga16.03.2010. u 18:25 - pre 170 meseci
Znaci ne moze da ne bude Case-sensitive string koji se unosi?
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga16.03.2010. u 18:33 - pre 170 meseci
Pa koji god da string uneseš ono će ga porediti kao velika slova
čini mi se da je mish_ns to hteo.
 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.255.*



+18 Profil

icon Re: c# comboBox pretraga16.03.2010. u 19:01 - pre 170 meseci
Ja sam hteo da bude case sensitive...znaci kad ukucam "m" da izbaci "Milan","Marko" recimo.
ali isto tako kada ukucam "R" da dobijem recimo "Darko"...
Tj. kao sto je rekao AMD da ne bude case sensitive...

Moguce da sam ja lose objasnio...
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
*.broadband.blic.net.

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga16.03.2010. u 19:17 - pre 170 meseci
Da tako i radi sa ToUpper ako se to ne želi onda ne treba koristiti takvo upoređivanje

Nešto ne štima u mojoj definiciji case sensitive ili u vašoj.

kada je nešto case sensitive onda je osetljivo na mala i velika i u tom slušaju 'm' nije isto što i 'M'
dok je case insensitive jeste tako ja tumačim ispravite me ako griješim.
hvala
wiki Case sensitivity

 
Odgovor na temu

mish_ns
Miloš Krstin

Član broj: 159930
Poruke: 1105
109.106.251.*



+18 Profil

icon Re: c# comboBox pretraga16.03.2010. u 19:48 - pre 170 meseci
ok...mi smo rekli da "ne bude" case sensitive...to je po tvojoj definiciji case insensitive koliko ja razumem...
nebitno mislim da smo se sad nasli :)
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: c# comboBox pretraga16.03.2010. u 19:51 - pre 170 meseci
Jeste
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Cola
Slađan Čolić
Banja Luka

Član broj: 23736
Poruke: 160
185.150.193.*

Sajt: www.knjigaimena.com


+5 Profil

icon Re: c# comboBox pretraga28.11.2016. u 11:52 - pre 88 meseci
Prošlo je 100god i meni zatreba ovaj kod pa da ga iskoristim i da dopišem problem kursora možete da riješite kao na ovom
linku.

portrebno je samo ispod
Code:
comboBox1.DroppedDown = true;

dodati
Code:

Cursor.Current = Cursors.Default;

 
Odgovor na temu

djordjeno
Srbija

Član broj: 35204
Poruke: 332
*.mobitel.si.

Sajt: www.mobitel.si


+42 Profil

icon Re: c# comboBox pretraga29.11.2016. u 09:30 - pre 88 meseci
Generalno je ok resenje.
Mada mislim da, oni koji imaju potrebe da osnovne win forms kontrole nabudze sa svim feature-ima (poput ovog iznad), treba da razmisle o kupovini 3rd party kontrola.
Necu preporucivati konkretan proizvod, ali na trzistu postoje 3-4 ozbiljne firme koje se samo time bave.

Ja sam odvojio vreme i naucio jedan i mogu vam reci da je dosta lakse kad sve imas na dohvat ruke i samo podesis propertije..
Takodje primetio sam se da kad imas sve kontrole koje su ti potrebne, vise vremena se posvetis resavanju domenskog problema, a ne to kako ce biti obojen red u gridu koji ima vrednost kolne X izmedju 0 i 10 npr..

Ko ima projekte kome nije toliko bitan korisnicki UI, neka preskoci kupovinu.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: c# comboBox pretraga

[ Pregleda: 4635 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.