Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.269 pregleda

Najnovija ↓

Problem sa eventom 31.01.2007. u 16:51 · pre 240 meseci
izmenjeno 1 put, poslednji put mmwlada 01.02.2007. u 15:55
  1. mmwlada01.02.2007. u 15:55zapis iz teksta poruke
#1
Imam ovakvu hijerarhiju klasa:
BindingList<T> => FSBindingList<T> => MojaList<mojObjekat>

U konstruktoru neke moje klase imam:
Code:

public Klasa()
{
    MojaList lista = new MojaList();
    lista.Listchanged += new ListChangedEventHandler(lista_ListChanged);
}

I posle toga funkciju:
Code:

void lista_ListChanged(object sender, ListChangedEventArgs e)
{
    OdaradiNesto();
}


I kada u nekoj funkciji odradim npr.
Code:

lista[0] = mojObjekat;


Ništa se ne dešava. Šta bi mogao da bude problem?
ListChanged event bi trebalo da okine kada se promeni lista ili neki član liste.
Potpis
http://www.tetraedar.net/
http://www.tetraedar.net/mmwlada/
http://www.tetraedar.net/english/
Re: Problem sa eventom 31.01.2007. u 19:41 · pre 240 meseci #2
Imas u helpu objasnjenje:
Citat:

ListChanged notifications for item value changes are only raised if the list item type implements the INotifyPropertyChanged interface.
Re: Problem sa eventom 01.02.2007. u 15:49 · pre 240 meseci #3
Citat:
DarkMan: Imas u helpu objasnjenje:


INotifyPropertyChanged interfejs se mora implementirati ako želiš da se okine ListChanged event nakon promene neke osobine objekta u listi. Ja želim da me obavesti kada ubacim ili izbacim element iz liste. Ne kada menjam osobine nekog objekta u listi.

U svakom slučaju, implementirao sam INotifyPropertyChanged i još uvek ne radi.
Potpis
http://www.tetraedar.net/
http://www.tetraedar.net/mmwlada/
http://www.tetraedar.net/english/
Re: Problem sa eventom 01.02.2007. u 19:12 · pre 240 meseci #5
Citat:
aleksandarpopov: A ako ubacujes elemente sa:
Code:

lista.Add(mojObjekat)//sta vec podrzava ta lista..

Sta se tada desava?

U listu se doda objekat, ali ne dolazi do okidanja ListChanged eventa.
Isto je i sa
Code:

lista.RemoveAt(i);//Ili  lista.Remove(mojObjekat);
//Iz liste se izbaci zahtevani objekat, ali neće da okine event
Potpis
http://www.tetraedar.net/
http://www.tetraedar.net/mmwlada/
http://www.tetraedar.net/english/
Re: Problem sa eventom 02.02.2007. u 22:11 · pre 240 meseci #6
Da nisi mozda dirao onaj property RaiseListChangedEvents, on je po defaultu true ali mozda si ga negde setovao na false.
Drugu stvar sto sam primetio je malo slovo kod ListChaged eventa u konstriktoru, sto ne valja, trebalo bi da dobijes compile time gresku. Da li si ti sigurno postovao ceo kod ili si dao samo deo da bi imali uvida o cemu se radi?
Re: Problem sa eventom 03.02.2007. u 18:36 · pre 240 meseci #7
Citat:
negyxo: Da nisi mozda dirao onaj property RaiseListChangedEvents, on je po defaultu true ali mozda si ga negde setovao na false.
Drugu stvar sto sam primetio je malo slovo kod ListChaged eventa u konstriktoru, sto ne valja, trebalo bi da dobijes compile time gresku. Da li si ti sigurno postovao ceo kod ili si dao samo deo da bi imali uvida o cemu se radi?


Nažalost postovao sam samo deo. Da sam postovao i ostatak sigurno bih i sam pre primetio.

Našao sam gde je problem. Naime ja sam na jednom mestu u kodu zamenio listu sa nekom potpuno drugom listom, koja očigledno nije reagovala na ListChanged event. Čim sam dodao lista.Listchanged += new ListChangedEventHandler(lista_ListChanged); posle tog poziva sve je proradilo.

Hvala svima koji su pokušali da pomognu.
Potpis
http://www.tetraedar.net/
http://www.tetraedar.net/mmwlada/
http://www.tetraedar.net/english/
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme