leeds2000
asked on
error when trying to get information out of listview box
First part of the code is where i get my error:
Argument out of range exception was unhandled - Invalid argument value=0 is invalid for a index
This is very weird, since i have used the same code several other places without no problem.
Il post the code for the listview. (i have values in this listview too, so there should be values to get out)
Argument out of range exception was unhandled - Invalid argument value=0 is invalid for a index
This is very weird, since i have used the same code several other places without no problem.
Il post the code for the listview. (i have values in this listview too, so there should be values to get out)
private sub button click
Me.listviewordre.Clear()
Dim ordrenr As String = Me.listviewordre.SelectedItems(0).Text <------- ERROR LINE
MsgBox(ordrenr)
Exit Sub
Me.kjorInsert("DELETE Ordreinfo WHERE ordre_nr = " & ordrenr)
Me.kjorInsert("DELETE Ordre WHERE ordre_nr = " & ordrenr)
Call Me.Oppdaterlistviewordre()
end sub
------------------------------------------------------------------------------------------
Listview code:
Me.listviewordre.Clear()
Dim forbindelse1 As New System.Data.OracleClient.OracleConnection
forbindelse1.ConnectionString = "user id=****;password=***;data source=***"
forbindelse1.Open()
Dim kommando As New System.Data.OracleClient.OracleCommand("SELECT o.ordre_nr, oi.vare_nr, oi.vare_antall, oi.salgs_dato, oi.knd_nr, v.vare_navn, v.vare_type, v.vare_pris, k.knd_fornavn, k.knd_etternavn, k.knd_adresse, k.post_nr, s.poststed, oi.ans_nr, o.fullført FROM Ordre o, Ordreinfo oi, Vare v, Kunde k, Sted s WHERE oi.ordre_nr = o.ordre_nr AND oi.vare_nr = v.vare_nr AND k.knd_nr = oi.knd_nr AND s.post_nr = k.post_nr AND o.fullført = 'nei'", forbindelse1)
Dim dataleser As OracleClient.OracleDataReader
dataleser = kommando.ExecuteReader()
With Me.listviewordre
.GridLines = True
.MultiSelect = False
.FullRowSelect = True
.View = View.Details
.HideSelection = False
.Columns.Add("O. nr", 35, HorizontalAlignment.Center)
.Columns.Add("V. nr", 35, HorizontalAlignment.Center)
.Columns.Add("Ant.", 35, HorizontalAlignment.Center)
.Columns.Add("Salgsdato", 68, HorizontalAlignment.Center)
'.Columns.Add("Kundenr", 45, HorizontalAlignment.Center)
.Columns.Add("Varenavn", 111, HorizontalAlignment.Center)
'.Columns.Add("Varetype", 65, HorizontalAlignment.Center)
.Columns.Add("Pris", 50, HorizontalAlignment.Center)
.Columns.Add("Kundenavn", 100, HorizontalAlignment.Center)
.Columns.Add("Adresse", 185, HorizontalAlignment.Center)
'.Columns.Add("Postnummer", 65, HorizontalAlignment.Center)
'.Columns.Add("Poststed", 65, HorizontalAlignment.Center)
.Columns.Add("Ansatt", 45, HorizontalAlignment.Center)
'.Columns.Add("Fullført", 55, HorizontalAlignment.Center)
End With
Dim lstItem As ListViewItem
While dataleser.Read()
lstItem = New ListViewItem()
lstItem.Text = dataleser.GetInt32(0)
lstItem.SubItems.Add(dataleser.GetInt32(1))
lstItem.SubItems.Add(dataleser.GetInt32(2))
lstItem.SubItems.Add(dataleser.GetOracleDateTime(3))
'lstItem.SubItems.Add(dataleser.GetInt32(4))
lstItem.SubItems.Add(dataleser.GetString(5))
'lstItem.SubItems.Add(dataleser.GetString(6))
lstItem.SubItems.Add(dataleser.GetInt32(7))
lstItem.SubItems.Add(dataleser.GetString(8) & " " & dataleser.GetString(9))
lstItem.SubItems.Add(dataleser.GetString(10) & " " & dataleser.GetString(11) & " " & dataleser.GetString(12))
'lstItem.SubItems.Add(dataleser.GetString(11))
'lstItem.SubItems.Add(dataleser.GetString(12))
lstItem.SubItems.Add(dataleser.GetInt32(13))
'lstItem.SubItems.Add(dataleser.GetString(14))
Me.listviewordre.Items.Add(lstItem)
End While
dataleser.Close()
forbindelse1.Close()
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
i have the same code on another listview, there it works perfectly, the clear listview is after the selected item, and i DO select a value then press the button, this would make it have a value before the clear listview right?
Il try and insert the IF sentence, but i dont think it would solve my problem.
I know it has values before the listview gets cleared, i just dont understand :/
Il try and insert the IF sentence, but i dont think it would solve my problem.
I know it has values before the listview gets cleared, i just dont understand :/
ASKER
OHHHHHHHHHHHHHH
yes i see now, i have a listview.clear on top of my button!! this was not suppose to be there :D
THANKS :)
yes i see now, i have a listview.clear on top of my button!! this was not suppose to be there :D
THANKS :)
Hey, I've had days like that too. :) Glad you got it working.
if Me.listviewordre.SelectedI
Dim ordrenr As String = Me.listviewordre.SelectedI
MsgBox(ordrenr)
else
MsgBox("List is empty")
end if
Me.listviewordre.Clear()