[ ksrele @ 16.02.2010. 16:40 ] @
Pozdrav svima. Pocetnik sam sa radom u Visual .NET okruzenju, ali sam radio po malo u starom VB5 i VB6 tako da znam da programiram. (+ jos znam PHP, JavaSrciprt, MySQL itd - ovo pisem cisto da znate da znam sta su varijable, nizovi i ostalo )

E sad konkretan problem mi je sledeci:
Zelim da napravim brzu pretragu pojmova iz baze pri SVAKOM upisu karaktera u textbox/combobox/listbox... whatever.
E sad, ja znam za opciju AutoComplete ali ona radi tako sto se matchuje item iz liste ali sa pocetnim unetim slovima.

1. Ovako radi sada (primer)
-U listi imam: [PILE, KOPILE, NAPILE...]
-Ako ja krenem da kucam "PILE" on ce mi izbaciti samo prvu rec iz niza.

Ja ZELIM da mi izbaci SVE reci u kojima se BILO gde u njima nalazi medjurec (substring - kako se ovo kaze na srpskom) koju ja unesem ["PILE" za konkretan primer].

Predpostavljam da ovo nije moguce direktno iz VB-a (mada mozda gresim, ispravite me), pa moram sam da programiram nesto, samo ne znam odakle da krenem.

Probacu sada da uradim ovo sto cu da napisem (sto mi je sada upravo palo na pamet) a dok ja radim ko zna neka pise, pomogne.
Recimo, ucitam sve pojmove iz baze u niz.
Postavim na formu textbox i nekako preko njega listbox ali da bude skriven. Kada pocnem da kucam slova da se pokrece funkcija koja ce da pretrazuje prvi niz i izdvaja nadjene reci u neki drugi niz kojim punim taj listbox i onda ga nekako postavim da postane vidljiv i da se moze kliknuti iz njega ono sto treba...

Da li ce ovo valjati?!?!?
Molim vas za pomoc.
[ ksrele @ 16.02.2010. 17:02 ] @
Hmmm... imao sam bolju ideju ali mi je propala u vodu jer ne znam kako da je izvrsim.
Naime, hteo sam da u AutoCompleteSource podesim CustomItems i da onda taj CustomItems punim programski, ali mislim da ta opcija ne postoji. Da li je to moguce?
[ ksrele @ 16.02.2010. 17:56 ] @
Wow, nisam znao da neki objekat u VB.NET-u ima skrivene metode i atribute.
Recimo, koliko god da kucam "ComboBox1.Aut..." nece da mi pokaze u listi da postoji "AutoComplete...", tek kada ukucam "AutoC" onda mi tek izbaci. Zanimljivo... :)

No, ni ovo nije resenje :(
Napravio sam da kada se ukuca neki string koji je deo nekog Itema iz Combo liste da se onda izmeni CustomItems lista koja se pokazuje u AutoComplete listi ali DZABA jer on bas taj Item nece da prikaze jer ne pocinje sa tim sto treba... bzv...

Jbt, jel ovo ikako moguce da se uradi da da OK izgleda i bez mnogo komplikacija?

Izvinjavam se na nekoliko uzastopnih poruka. Necu vise pisati dok neko ne odgovori.
[ ksrele @ 16.02.2010. 19:46 ] @
Evo ga resenje:
[Na formu se postave dva ListBox-a /oba skrivena po defaultu/ i jedan textbox]
Code:

Public Class Form1
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ListBox2.Items.Add("pile")
        ListBox2.Items.Add("napile")
        ListBox2.Items.Add("napisati")
        ListBox2.Items.Add("naprimer")
        ListBox2.Items.Add("pilence")

    End Sub
    Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
        ListBox1.Items.Clear()

        Dim items = ListBox2.Items.Count()

        For i = 0 To items - 1
            If ListBox2.Items.Item(i).ToString.Contains(TextBox1.Text) Then
                ListBox1.Items.Add(ListBox2.Items.Item(i).ToString)
            End If
        Next i

        ListBox1.Visible = True
    End Sub
    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Text = ListBox1.SelectedItem.ToString
        ListBox1.Visible = False
    End Sub
End Class