[ x-com @ 29.05.2005. 07:07 ] @
Kako da u VB.Net napravim ListBox koji ce prikazivati jednu kolonu iz baze (npr. imena dobavljaca) a kada se izabere stavka sa liste, da kao rezultat dobijem vrednost iz druge kolone (npr. sifru dobavljaca)? U VB6 sam problem resio ovako:

Code:

Set rsDobavljaci = New Recordset
rsDobavljaci.Open "SELECT SifraDobavljaca,Naziv FROM Dobavljaci ORDER BY Naziv", db, adOpenDynamic, adLockOptimistic
If Not (rsDobavljaci.BOF And rsDobavljaci.EOF) Then
  Do While Not rsDobavljaci.EOF
    With lstSifraDobavljaca
      .AddItem rsDobavljaci("Naziv")
      .ItemData(.NewIndex) = rsDobavljaci("SifraDobavljaca")
    End With
    rsDobavljaci.MoveNext
  Loop
End If
rsDobavljaci.Close
End Sub


Nakon toga vrednost (sifru dobavljaca) upisujem u textBox ovako:

Code:

txtSifraDobavljaca = lstSifraDobavljaca.ItemData(lstSifraDobavljaca.ListIndex)


Dakle, kako ovo izvesti u VB.Net-u?
[ varelg @ 01.06.2005. 09:38 ] @
Mozhda bi mogao uraditi sledeche:
-u Form_Load proceduri dodaj imena onih chiju chesh shifru izvlachiti iz baze, korishchenjem Add metode; primer ako ti je ime listbox-a "dobavljachi" onda:
dobavljachi.Items.Add("neki dobavljach")
i tako za svakog dobavljacha.
-u proceduri "dobavljachi.SelectedIndexChanged" iskoristish select-case konstrukt:
Select Case dobavljachi.SelectedIndex
Case 0
textBox1.Text= 'ovde napishesh kod za vezu s bazom u sluchaju da bude izabrana prva opcija
Case 1
textBox1.Text= 'ovde u sluchaju izbrora druge opcije itd...
ali ovo je "from the top of my head", znachi mogao bi doraditi ovaj kod da bi stvarno radio, ali u sushtini bi trebalo da reshi tvoj problem...
[ x-com @ 01.06.2005. 17:45 ] @
Da, ali meni je potrebno da podatke kojima punim ListBox aplikacija vuce iz baze. U primeru koji si naveo, prakticno sam ogranicen na odredjeni broj dobavljaca. U gornjem primeru je moj problem resen, ali u VB6. Samo treba da slican kod napisem u VB.Net-u...
[ Vertyg01 @ 01.06.2005. 18:11 ] @

Dim dset as new DataSet
Dim dview as DataView
Dim dtable as DataTable
Dim da as SqlDataAdapter
Dim sqlConn as new sqlConnection("ovde upises podatke o konekciji")
dim sqlComm as SqlCommand

sqlConn.open()
sqlComm=new SqlCommand("select PRVI,DRUGI from tralalala",sqlConn)
da = new da(sqlComm)
da.Fill(dset)

dtable=dset.Tables(0)
dview=dtable.DefaultView

ComboBox.DataSource=dview
ComboBox.DisplayMember="PRVI"
ComboBox.ValueMember="DRUGI"
sqlConn.Close()
[ x-com @ 03.06.2005. 09:48 ] @
To je ono sto sam trazio. Hvala svima na odgovorima.