ListView   zodpovězená otázka

VB.NET

Dobrý večer, potřeboval bych radu, jak zjistit vybranou položku ListView. Mám tam 2 sloupce a potřebuji obě hodnoty.

V tuto chvíli používám:

LV_Sklad.SelectedItems(0).Text

a

LV_Sklad.SelectedItems(0).SubItems(1).Text

Ale dost často mi to hodí chybu:

InvalidArgument=Hodnota 0 není platnou hodnotou pro argument index. Název parametru: index

a nevím co s tím

Děkuji

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ta chyba je způsobena tím, že u některých položek ListViewItem nemáte žádné SubItems nebo jich máte nesprávný počet. Pokud chcete aby to fungovalo tak jak si představujete, musíte u všech položek ListViewItem mít stejný počet SubItems. Tam kde je nepotřebujete prostě nastavíte prázdný text (String.Empty) jako jejich popisek.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Já myslím, že problém je v tom, že vám to padá, když není žádná položka vybraná. Stačí se podívat na vlastnost LV_Sklad.SelectedItems.Count a pokud má hodnotu nula, znamená to, že není vybraná žádná položka a tím pádem nesmíte přistupovat k LV_Sklad.SelectedItems(0).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ano, je to tím. Když nastane ListView_SelectedIndexChanged, tak se v proceduře opravdu objevuje count = 0

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

měl bych podobný problém.

Používám tento kód:

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged

        nazev = ListView1.SelectedItems(0).SubItems(0).Text
       
    End Sub

Při prvním vybrání položky v ListView dostane vlastnost SelectedItems.Count správně hodnotu 1 a vše proběhne v pořádku, ale pokud poté vyberu nějakou jinou položku v ListView tak mi to vyhodí stejnou chybu jako panu Slavíkovi a vlastnost Count je 0. Poradíte mi prosím co s tím?

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback