Try our conversational search powered by Generative AI!

Funktion av FilterCompareTo.Condition?

Vote:
 
När jag hänger på en eventhandler för filter-eventet på en PageList och i den försöker använda FilterCompare-filtret fungerar det inte att sätta egenskapen Condition till CompareCondition.NotEqual. Jag förväntar mig resultatet att filtret ska ta bort de sidor som HAR egenskapen EGENSKAP satt till värdet VÄRDE, men oavsett vad jag väljer tas de sidor som INTE HAR värdet VÄRDE för egenskapen EGENSKAP bort. Dokumentationen säger också att "Will remove all items where the property PropertyName does not have the value PropertyValue", men vad är det då för poäng att kunna egenskapen Condition? Visserligen går det att komma runt problemet genom att skriva en egen metod som gör den genomför den jämförelse jag är ute efter men det verkar dumt att uppfinna hjulet igen om det finns någon standardlösning. Någon som har en aning? /Anders
#12076
May 12, 2004 16:25
Vote:
 
Dokumentationen är något felaktig på den punkten. Vilka sidor som släpps igenom av filtret beror givetvis på vilka kriterier man anger. CompareCondition.NotEqual ska behålla de sidor som inte matchar egenskapen med det angivna värdet, dvs filtret ska ta bort sidor som har den angivna egenskapen samt matchande värde, precis som du förväntar dig att det ska fungera. Vilken version av EPiServer gäller det? Det fanns en bug i tidigare versioner av EPiServer som gjorde att NotEqual inte fungerade korrekt, men den ska vara fixad sedan 4.20.
#13606
May 12, 2004 17:12
Vote:
 
Den version som jag jobbar med för tillfället är den senaste, dvs 4.30 Release.
#13607
May 13, 2004 8:51
Vote:
 
Vi har inte hittat några fel i filtreringsfunktionerna. NotEqual fungerar som förväntat i 4.30 i de tester vi gjort. Hur ser den kod ut som inte fungerar?
#13608
May 14, 2004 9:49
Vote:
 
Koden som jag skrivit ser ut som följer. Värt att notera kan vara att jag även provat att göra en custom eventhandler där jag sedan använt mig av filtret och exekverat filtermetoden aktivt och skickat en sidkollektionen som parameter men med samma resultat, dvs den filtrerar alltid bort de sidor som EJ innehåller strängen som skickas in. FilterCompareTo filterCompareTo = new FilterCompareTo("PageName","Elektropost"); filterCompareTo.Condition = CompareCondition.NotEqual; filterCompareTo.StringCondition = StringCompareMethod.Contained; pageListControl.Filter += new FilterEventHandler(filterCompareTo.Filter);
#13609
May 24, 2004 16:23
Vote:
 
Ok, kikar du lite närmare i dokumentationen hittar man: Condition - Filter comparer for non-text comparisons. StringCondition - Filter comparer for text comparisons. Dessa samverkar alltså inte utan det är två olika inställningar där StringCondition endast gäller sträng-egenskaper medans Condition endast gäller egenskaper med värden. Dvs att tilldela Condition när man jobbar mot en sträng-egenskap har ingen funktion.
#13610
May 24, 2004 16:40
Vote:
 
Det innebär dock att det jag ville göra från början, dvs att bara ta med de sidor som INTE har en viss sträng i t.ex. sidnamnet, inte är möjigt om man inte vill skriva en custom eventhandler. StringCondition specificerar bara var i strängen det man vill filtrera på ska finnas. Jag vet inte om dokumentationen har uppdaterats sedan 4.30 släpptes skarpt för jag kan inte hitta de texter som du refererar till (har version SDKEPiServer4.30.0.120). Hursomhelst, tack för denna gång!
#13611
May 25, 2004 9:30
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.