E ovako, ja sam to vec radio, s tim sto sam za taj 'box' koji napominjes koristio
ComboBox, tako kad ukucam prvo slovo (ovdje se radilo o artiklima) onda je
u combo box upisao sve one koji pocinju sa tim slovom a u sami text property
od ComboBoxa je bio prvi string iz niza (koji su dobijeni kao rezultat).
Tako je ostatak teksta bio selektovan a moze se i dalje unositi tekst itd...itd
Nije tesko, moras paziti na evente, evo ti dio koda, koji sam ja pisao za svoj projekat,
malo cu ga izmjenit a ako ne bude jasno, javi:
Code:
private void ProvideByArticleName()
{
if(cbNazivArtikla.Text == "") return; //---- ako je prazan naziv ne radi nista
// dobavi sve artikle ciji naziv pocinje tekstom koji je ukucan
string filter = "Naziv LIKE '"+cbNazivArtikla.Text+"%'";
// rezultat pretrage smjesti u niz
DataRow [] rows = dsMain.Tables[0].Select(filter);
// ako takvog artikla nema...
if(rows.Length < 1)
{
artikal.valid = false;
return;
}
// Ukini dogadjaj reagovanja na unos teksta i pritisak tastera jer se dalje u proceduri
// mjenja tekst ComboBoxa tako da ne dodje do rekurzivnog pozivanja ove fje
this.cbNazivArtikla.KeyDown -= new System.Windows.Forms.KeyEventHandler(this.OnKeyDown);
this.cbNazivArtikla.TextChanged -= new System.EventHandler(this.OnTextChange);
// uzmi prvi naziv od rezultata (ako ih ima vise)
DataRow currentRow = rows[0];
string oldText = cbNazivArtikla.Text;
artikal.naziv = currentRow["Naziv"].ToString();
//----- Selektuj ostatak naziva artikla
cbNazivArtikla.Text = artikal.naziv;
cbNazivArtikla.Select(oldText.Length, cbNazivArtikla.Text.Length - oldText.Length);
// .... ovdje je dio koda obrade dobavljenih podataka
// ---
/// ---
// Dodaj dogadjaj reagovanja na unos teksta i pritisak tastera
this.cbNazivArtikla.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OnKeyDown);
this.cbNazivArtikla.TextChanged += new System.EventHandler(this.OnTextChange);
}
Mozes sve stringove koje si dobio kao rezultat (u rows-u) dodati u comobBox i na taj
nacin dodati event na ComboBox da ti se dropuje comboBox pritiskom na taster donje strelice itd.
I taj dio koda imam pa ako ti bude trebao, javi.
E umalo da zaboravim, ja sam ovdje koristio dataSet ali isto mozes i sa tabelom u bazi, u stvari i ovaj dataSet je 'napunjen' tabelama iz baze
[Ovu poruku je menjao erkan dana 17.08.2005. u 11:11 GMT+1]