Avatar
Martin Klein
Člen
Avatar
Martin Klein:

Ahoj, chtěl jsem se zeptat, jak můžu pomocí ListView udělat "obchod"... Vše už mám, ale nevím jak udělat:
Uživatel klikne na jeden item v ListView a já potřebuji zjistit jaký to byl a provést další příkaz... Nedokážu to dobře popsat... Moc díky za odpovědi

Odpovědět 25. října 21:48
Martin Klein
Avatar
JK CZ
Člen
Avatar
Odpovídá na Martin Klein
JK CZ:

Tady je priklad v vb.net a winform double / click
( v c# to je podobne)

Private Sub lstOverview_DoubleClick(sender As Object, e As EventArgs) Handles lstOverview.DoubleClick
    Dim selectedItem = lstOverview.SelectedItems(0)
    ......

End Sub

Private Sub lstOverview_Click(sender As Object, e As EventArgs) Handles lstOverview.Click
    Dim selectedItem = lstOverview.SelectedItems(0)
    ......
End Sub
 
Nahoru Odpovědět 26. října 8:05
Avatar
Martin Klein
Člen
Avatar
Odpovídá na JK CZ
Martin Klein:

Ok, díky moc, ale teď nemůžu přijít jak potom udělat podmínku:

Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
        Dim selectedItem = ListView1.SelectedItems(0)
        If selectedItem = 0 Then

        End If
    End Sub

U

If selectedItem = 0 Then

mi to píše, že selecteditem není v integer a já nevím v čem je...

Díky moc

Nahoru Odpovědět 26. října 12:22
Martin Klein
Avatar
JK CZ
Člen
Avatar
Odpovídá na Martin Klein
JK CZ:

Nevim presne v jakem sloupci je ta 0, tak posilam ukazku na prvni a druhy

If selectedItem.SubItems(0).Text = "0" Then 'Pokavad je to prvni sloupec
If selectedItem.SubItems(1).Text = "0" Then 'Pokavad je to druhy adt..
Editováno 26. října 13:27
 
Nahoru Odpovědět 26. října 13:25
Avatar
Martin Klein
Člen
Avatar
Martin Klein:

Ale já chci pouze zjistit jaký je vybraný item a udělat nějaký příkaz pokud to je item 0, jinak pokračovat dál a zase pokud je to item 1 udělat příkaz, jinak pokračovat dál... a takhle až k poslednímu itemu...
Něco jako

If (je vybraná položka 0) then (příkaz)
End if
If (je vybraná položka 1) then (příkaz)
End if
If (je vybraná položka 2) then (příkaz)
End if
If (je vybraná položka 3) then (příkaz)
End if

Díky moc

Nahoru Odpovědět 26. října 14:19
Martin Klein
Avatar
HONZ4
Člen
Avatar
Odpovídá na Martin Klein
HONZ4:

V ListView doporučuji pracovat virtuálně (VirtualMode=true) a získávat index aktivní položky takto:
int index = MujListView.Se­lectedIndices[0] a to v události SelectedIndex­Changed
Prakticky nepředvedu, protože nedělám VB.

Editováno 26. října 18:16
 
Nahoru Odpovědět 26. října 18:14
Avatar
HONZ4
Člen
Avatar
Odpovídá na Martin Klein
HONZ4:

If selectedItem = 0 Then je blbě, správně to má být zhruba takto:

If  ListView1.SelectedItems[0].Index Is 0 Then

(ty závorky se u VB možná píší kulaté, nevím a zjišťovat se mi to nechce)

 
Nahoru Odpovědět 26. října 19:07
Avatar
JK CZ
Člen
Avatar
JK CZ:

Asi takto:

Dim selectedItem = lstOverview.SelectedItems(0)
If selectedItem.Index = 0 Then ...
If selectedItem.Index = 1 Then ...

Honza to napsal drive, ale v C# :-)

 
Nahoru Odpovědět 26. října 21:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.