17. November 2009 10:47
Hi,
einem Grid sollte eigentlich immer eine DataSource als Datenquelle "zugewiesen" werden/sein.
Diese DataSource bezieht die Daten aus einer bestimmten Tabelle mittels einer Query (Abfrage).
Um die Daten, welche in dem Grid angezeigt werden (sollen) einzuschränken (z.B. nur die Datensätze anzeigen welche den Wert 0 oder 1 haben) muss die Query, welche zum Abfragen der Daten aus der Datenbanktabelle verwendet wird, angepasst werden.
Für die Query muss eine entsprechende Range (Einschränkung) gesetzt werden. Dies ist im Grunde nichts anderes als ein Where-Ausdruck einer "normalen" Select-Anweisung.
Wo die Query eingeschränkt werden muss, hängt davon ab, was genau du machen möchtest.
Wenn deine Einschränkung auf die Werte 0 und 1 immer "gültig" sein soll, musst du die Query in der Method "init" der DataSource mittels X++ einschränken.
Beispiel:
- Code:
public void init()
{
QueryBuildRange queryRange;
;
super();
queryRange = this.query().dataSourceTable(tablenum(<DeineTabelle>)).addRange(fieldnum(<DeineTabelle>, <DeinFeld>));
queryRange.value(<DeinWert>);
}
In meinem
Blog kannst du einen
Artikel über Querymanipulationen finden, der dir evtl. weiter helfen könnte.