Visual basic vprašanje

cbb

Chef
6. avg 2007
3.337
2
38
51
Nč več u Jesenicama... Zdej Horjul
Torej imam sledeče vprašanje:

dostopam do Access baze, v kateri je tabela, ta tabela ima polja: ime_priimek in šifra. Na formi kreiram Combo box, ki prek data kontrole povezan na "ime_priimek" iz accessove baze. Špila brez problema. Rad pa bi naredil še en label, ki bi izpisoval šifro tistega imena in priimka, ki je izpisan v combo boxu. Tu pa se mi ustavi:)
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Sicer nimam zdejle instaliranega VB.net, v C# gre pa takole:

Na BindingSource objektu dodaš novi event handler za event CurrentItemChanged. V event daš naslednjo kodo (za C#):

DataRowView curr = (DataRowView)xxBindingSource.Current;
if (curr != null) label1.Text = curr.Row.ItemArray[0].ToString();

V prvi vrstici dobiš referenco na DataRowView objekt od trenutne vrstice v bazi. Iz tega objekta potem v drugi vrstici dobiš vrednost ID polja (v tem primeru je to prvi stolpec z indeksom 0).

Za VB je postopek enak, edino koda je malenkost drugačna.
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Objekti so isti, edino sintaksa je malo drugačna. Nekaj takega (pišem na pamet):

Dim curr As DataRowView = CType(xxBindingSource.Current, DataRowView)
If ( Not IsDBNull(curr)) Then label1.Text = curr.Row.ItemArray(1).ToString()
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Aja ti to še v šeski delaš
frown-1.gif
Sej ideja je ista. Iz dataset-a moraš dobiti trenutni row, potem pa v label-u izpišeš željeni podatek.