Ovako :
Code:
ListBox.DataSource = Tabela
ListBox.DisplayMember = "NazivKoloneKojaSePrikazuje"
Ako hoces da ti se prikazuju vrednosti iz više kolona onda napravi dodatnu kolonu u tabeli i u nju prepiši vrednosti iz drugih kolona i nju stavi u DisplayMember. Kreiranje i prepisivanje mozes raditi nalik ovom primeru:
Code:
Tabela.DataColumns.Add(New System.Data.DataColumn("CustomKolona", GetType(System.String)))
For I=0 To Tabela.Rows.Count - 1
Tabela.Rows(I).Item("CustomKolona") = Tabela.Rows(I).Item("NazivProizvoda")+ " " + Tabela.Rows(I).Item("CenaProizvoda")
Next
ListBox.DisplayMember = "CustomKolona"
Sada da bi kasnije video koji ti je selektovan red u listi koristi sledeci kod:
Code:
CType(Me.BindingContext(Tabela).Current, System.Data.DataRowView).Row
' ili
CType(ListBox.Current, System.Data.DataRowView).Row
Da bi dobio 'efekat' premeštanja redova iz liste predlazem ti kao najednostavnije resenje da za grid postavis DataSource na drugu tabelu koja ima istu strukturu kao i tabela za listu i da u nju importujes red iz tabele za listu a iz tabele za listu posle obrises taj red (postoje i drugi nacini da uradis ovo preko DataView-a ali da ne komplikujem). Primer :
Code:
' Premestanje iz liste u grid
TabelaZaGrid.ImportRow(CType(Me.BindingContext(Tabela).Current, System.Data.DataRowView).Row)
Tabela.Row.Remove(CType(Me.BindingContext(Tabela).Current, System.Data.DataRowView).Row)
Ista stvar je i ako trebas da vratis iz grida u listu, samo obrnes tabele u koju importujes i iz koje brises...
Ako ti bude trebao trenutni red u gridu njega dobijas ovako:
Code:
' Ako je izvor podataka na gridu postavljen ovako : Grid.DataSource = TabelaZaGrid
CType(Me.BindingContext(TabelaZaGrid).Current, System.Data.DataRowView).Row
' Ako je izvor podataka na gridu postavljen ovako : Grid.DataSource = DataSet, Grid.DataMember = "ImeTabeleuDataSetu"
CType(Me.BindingContext(DataSet, "ImeTabeleuDataSetu"
).Current, System.Data.DataRowView).Row
Inace najednostavniji nacin da dobijes tabelu iste strukture kao neka druga tabela ide ovako :
Code:
NekaTabela = Tabela.Clone()