Listview zaznaczanie elementów.

0

Witam !

Szukałem na sieci rozwiązania na mój problem ,ale nie znalazłem ,więc piszę do was . A mianowicie :

listView1.HideSelection = false;
listView1.Select();
listView1.Items[kk].Selected=true;

Chcę by mój listview1 w elemencie kk był zaznaczony ,ale wywala mi błąd :

System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
   w System.Windows.Forms.ListViewItem.set_Selected(Boolean value)
   w Projekcior_1._.Form3.TextBox1TextChanged(Object sender, EventArgs e) w d:\Projekcior x.x\Projekcior 1.4\Projekcior 1.1\edycja.cs:wiersz 99
   w System.Windows.Forms.Control.OnTextChanged(EventArgs e)
   w System.Windows.Forms.TextBoxBase.OnTextChanged(EventArgs e)
   w System.Windows.Forms.Control.set_Text(String value)
   w System.Windows.Forms.TextBoxBase.set_Text(String value)
   w System.Windows.Forms.TextBox.set_Text(String value)
...

Proszę o szybką pomoc i z góry dziękuję .!

0

Witam,
NullReferenceException - wiec czegos nie zainicjalizowales... ListView;)? Sprawdz dokladnie na ktorej lini i jaki objekt ma wartosc NULL.
Pozdro

0

Na gorze masz Items.Clear, potem wybierasz jakis Item. DoListVew() dodaje nowe itemy?
I jeszcze - rozumiem ze za "kk" wstawiasz jakis konkretny index, nie;)?

0

Sorry, dawno nie uzywalem WinForms i ListView. Tak na szybko wrzucilem odpowiedz a teraz widze ze w zasadzie to nie powinno byc w tym miejscu problemu... Wiec zapomnij o poprzednim poscie;)

Inne niezainicjalizowane objekty do ktorych sie posrednio odwolujesz?

0

Wygląda to dobrze jeśli DoListView() wypełnia ListView, a zakładam, że tak jest.
A gdy po DoListView() wstawisz to poniżej to jaki będzie wynik?

MessageBox.Show(string.Format("LV ma: {0} itemów, a ja się odwołuję do {1}",listView1.Items.Count.ToString(),kk));
0

http://screenshotuploader.com/s/1401ouvkk
Oczywiście tamto zakomentowałem .

0

Poza tym funkcja Dolistview() -

void Dolistview(){
			for(int i=0;i<linie;i++){
				listView1.Items.Add(dane[i,0]);
				listView1.Items[i].SubItems.Add(dane[i,1]);
				listView1.Items[i].SubItems.Add(dane[i,2]);
			}
		}
0

Rozwiązałem problem całkiem inaczej - temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1