Funktion zum Filter von versch. Feldern

24. Januar 2015 20:05

Hallo,
ich möchte mir gerne ein Funktion bauen, welche als Paramter das FilterFeld und den Filterwert hat. Muss nämlich eine Page erstellen in welcher nach ca. 20 Felder über Menü-Icons gefiltert werden soll. Diese Page bekommt hat die Eigenschaft SourceTableTemporary = Yes. Die Daten werden beim Starten der Page eingelesen.

Nun dachte ich mir ich kann das mit Fieldref machen. Leider habe ich damit bis jetzt noch nicht gearbeitet.
Habe mir folgende Funktion gebaut und ruf diese Funktion so auf
Code:
ABCRecRef.OPEN(DATABASE::"Prod.Planungszeilen");
MyFieldRef := ABCRecRef.FIELD(FIELDNO(Bodentypgruppe));
AddFilter('SB',MyFieldRef)
FilterAdd(BodentypSBEN,BodentypSBENClear,'SB',MyFieldRef);


Wobei hier 'SB' der Filterwert ist und nach dem Feld Bodentypgruppe gefiltert werden soll.

Anbei die Funktion:
Code:
AktuellerFeldFilter := FilterFeld.GETFILTER;
IF STRLEN(AktuellerFeldFilter) > 0 THEN
  AktuellerFeldFilter += '|';
AktuellerFeldFilter += AddFilterText;
FilterFeld.SETFILTER(AktuellerFeldFilter);

MESSAGE('Feldname: %1 und Filterwert: %2',FilterFeld.NAME,AktuellerFeldFilter);
MESSAGE('FieldrefFilter : %1',FilterFeld.GETFILTER);

MESSAGE('%1',GETFILTER(Bodentypgruppe));

CurrPage.UPDATE(FALSE);

Die ersten beiden Message-Befehle liefern mir die richtigen Ergebnisse und beim Dritten bekomme ich die Info das auf diesen Feld keine Filter gesetzt ist.

Bin ich da auf den richtigen Weg oder geht das nicht.

lg
stony