inspiroMedlem sedan sep. 2005673 inlägg i en asp:treeview finns det ett OnSelectedNodeChanged-event. Men om man klickar på samma menylänk som redan är vald så körs ju inte det eventet.
Finns det något sätt att göra egna events så att man kan göra ett event som körs även när du klickar på det menyalternativ som redan är valt? Om man kan overrida events på nåt sätt eller vad det heter?
Om du ärver från Treview så borde du komma åt någon funktion som heter OnSelectedNodeChanged funktion som i sin tur triggar eventet.
emissionMedlem sedan dec. 19996 721 inlägg Det lär bli knepigt. Visst kan du ärva Treeview, men det vore lättare att få den att hindra ett existerande event, snarare än att utöka. Du skulle kunna prova med att overrida RaisePostBackEvent, göra den valda noden till "ovald" och sedan låta base.RaisePostBackEvent sköta resten.
inspiroMedlem sedan sep. 2005673 inlägg Hm, okej... men hur overridar man ett event? Jag hittade en sida som jag tror kanske kan vara det jag söker men jag förstår inte riktigt hur det fungerar...
http://msdn2.microsoft.com/en-us/library/system.windows.forms.treevieweventargs.aspx
inspiroMedlem sedan sep. 2005673 inlägg Såg ett svar i ett annat forum där de sa att man kanske kunde sätta en onclick på varje nod i ondatabound-eventet, någon som vet hur man gör det?
Eller går det att fånga upp något i page_loaden där man kan kolla om det är treeview-kontrollen kan klickade i?
Hmm, det kanske finns något Node.Attributes.Add("Onclick", "vad nu som skall hända");
emissionMedlem sedan dec. 19996 721 inlägg Du ska inte overrida något event. RaisePostBackEvent är en vanlig void-metod.
inspiroMedlem sedan sep. 2005673 inlägg Jag är lite korkad så jag hänger inte med riktigt här alltså... :) Vad är ett raisepostbackevent och hur kopplar man ihop det med en länk i min treeview? Problemet är att det är ett par textboxar vars värden hämtas/bearbetas när man klickar i treeviewn. Med andra ord, om jag ändrar värdet i någon av textboxarna men klickar på den nod som redan är vald i treeviewn så kan jag inte koppla det till ett event och det blir fel...
Den kör ju page_load när man klickar på noden en andra gång, men jag verkar aldrig kunna få fram att klicket kommer från min treeview!
emissionMedlem sedan dec. 19996 721 inlägg 1. Skapa en egen klass som ärver TreeView
2. Overrida RaisePostBackEvent i din klass (RaisePostBackEvent är en metod, inget event)
3. Deselecta den selectade noden i RaisePostBackEvent, och skicka sedan vidare till base.RaisePostBackEvent