Archief - VB.net code probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

GrAmLin

Legacy Member
Dag mensjes,

Ik zit met een probleem, in een listview in vb.net kan ik in een listview items toevoegen. Dat werkt, maar ik wil er meerdere colls gebruiken omdat ik meerdere waarden naast elkaar wil plaatsen.

Daardoor maak ik eerst al de cols aan. Maar normaal moet je standard listview.items.add("balablabla") doen, maar omdat ik nu in die andere coll wil schrijven lukt dit niet. Ik zit me suf te zoeken (nu al een 4 tal uur, en kan het maar niet vinden)

Kan iemand helpen?

Vriendelijke groeten,

hieronder zieje m'n vb.net code.


Dim verbindingsString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Documents and Settings\GrAmmy\Bureaublad\db3.mdb;"
Dim verbinding As New OleDb.OleDbConnection(verbindingsString)
verbinding.Open()

Dim opdracht As New OleDb.OleDbCommand("SELECT * FROM dvds ORDER BY id ", verbinding)

Dim dataLezer As OleDb.OleDbDataReader = opdracht.ExecuteReader(CommandBehavior.CloseConnection)
ListBox1.Items.Clear()

ListView1.Columns.Add("id", 20, HorizontalAlignment.Center)
ListView1.Columns.Add("Film naam", 130, HorizontalAlignment.Center)
ListView1.Columns.Add("Tijd", 45, HorizontalAlignment.Center)
ListView1.Columns.Add("Genre", 20, HorizontalAlignment.Center)
ListView1.View = View.Details
ListView1.GridLines = True

Dim i As Integer
While dataLezer.Read
i += 1

' hier probeer ik het voor één te doen, maar lukt me niet.
ListView1.Items(i).SubItems.Add(dataLezer.GetValue(2).GetType.ToString)

End While
verbinding.Close()

GrAmLin

Legacy Member
o ja, ik verkrijg m'n data in dataLeze.read via een access bestand.

GrAmLin

Legacy Member
Probleem ondertussen al gevonden, ik moest nog een datareader gebruiken. En eerst in een array droppen.

Greeetssss :love:

Dim opdacht As New OleDb.OleDbCommand("SELECT * from dvds")
Dim verbindingsString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Documents and Settings\GrAmmy\Bureaublad\db3.mdb;"
Dim verbinding As New OleDb.OleDbConnection(verbindingsString)
verbinding.Open()

Dim opdracht As New OleDb.OleDbCommand("SELECT * FROM dvds ORDER BY id ", verbinding)

Dim dataLezer As OleDb.OleDbDataReader = opdracht.ExecuteReader(CommandBehavior.CloseConnection)
ListView1.Columns.Add("id", ListView1.Width / 100 * 5, HorizontalAlignment.Center)
ListView1.Columns.Add("Naam", ListView1.Width / 100 * 20, HorizontalAlignment.Left)
ListView1.Columns.Add("Date", ListView1.Width / 100 * 8, HorizontalAlignment.Left)
ListView1.Columns.Add("Tijd", ListView1.Width / 100 * 12, HorizontalAlignment.Left)
ListView1.Columns.Add("Genre", ListView1.Width / 100 * 15, HorizontalAlignment.Left)
ListView1.Columns.Add("Acteur", ListView1.Width / 100 * 25, HorizontalAlignment.Left)
ListView1.View = View.Details
ListView1.GridLines = True

Dim i As Integer = -1
Dim y As Integer
Dim arFilms(1000, 5) As String
While dataLezer.Read
i += 1
arFilms(i, 0) = dataLezer.GetValue(0)
arFilms(i, 1) = dataLezer.GetValue(1)
arFilms(i, 2) = dataLezer.GetValue(2)
arFilms(i, 3) = dataLezer.GetValue(3)
arFilms(i, 4) = dataLezer.GetValue(4)
arFilms(i, 5) = dataLezer.GetValue(5)
End While
For y = 0 To i
ListView1.Items.Add(arFilms(y, 0))
ListView1.Items(y).SubItems.Add(arFilms(y, 1))
ListView1.Items(y).SubItems.Add(arFilms(y, 2))
ListView1.Items(y).SubItems.Add(arFilms(y, 3))
ListView1.Items(y).SubItems.Add(arFilms(y, 4))
ListView1.Items(y).SubItems.Add(arFilms(y, 5))
Next y

Dim intTotaal As Integer
intTotaal = ListView1.Items.Count
verbinding.Close()

alva848

Legacy Member
Laat die datareader vallen en leer een dataAdapter(& dataSet) gebruiken. 't is iets moeilijker maar veelzijdiger ( en eigenlijk ook handiger eens je het doorhebt ). :)

UniKorn

Legacy Member
Ja, maar een datareader is sneller als je alleen maar data wil tonen.

Daarobovenop begrijp ik niet waarom je een listview gebruikt om meerdere kolommen te tonen, waarom gebruik je geen datagrid? Die doet alles wat jij doet automatisch, met mogelijkheid tot sorteren enz...

GrAmLin

Legacy Member
UniKorn, je hebt gelijk, khad het met datagrid moeten doen.

Maja, kga denk ik aanpassen naar datagrid want voor sorteren is listview niet zo handig.

Groeten!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan