[Gelöst]Grid nur mit bestimmten Daten aus Table füllen

Bild Microsoft Dynamics AX 4.xx

[Gelöst]Grid nur mit bestimmten Daten aus Table füllen

Beitragvon helpless » 14. November 2009 18:42

Hallo alle zusammen.

habe das Problem leider nicht kürzer beschreiben können und leider kein Platz mehr im Betreff.
Also meine Frage ist: Wie kann ich ein Grid (dem ich in den Einstellungen eine DataSource zugewiesen habe) nur mit bestimmten Rows fĂĽllen - und zwar diejenigen (Rows), die in einer Spalte zB den Wert 0 oder 1 haben.

Ich hoffe die Frage ist verständlich - und ich weiß dass das bestimmt eine ziemlich einfache Frage ist. Aber leider nur für jemanden der sich damit auskennt ;)
Hab schon viel herumprobiert und auch gegoogelt - aber habe bis jetzt nichts gefunden.

Bin dankbar fĂĽr jede Hilfe
Zuletzt geändert von helpless am 18. November 2009 22:10, insgesamt 1-mal geändert.
helpless
 
Beiträge: 2
Registriert: 14. November 2009 18:32
Realer Name: Chris
Arbeitsort: Deutschland
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics AX
Microsoft Dynamics Version: 4

Re: Grid nur mit bestimmten Daten aus Table füllen (abhängig vom

Beitragvon akuehn » 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: Alles auswählen
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.
GruĂź, Axel KĂĽhn
MVP fĂĽr Dynamics AX, MCP, MCBMSS, Member of [clip]
Mein Dynamics AX Blog


Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
akuehn
MVP
MVP
 
Beiträge: 251
Registriert: 21. August 2007 16:54
Wohnort: Göttingen
Realer Name: Axel KĂĽhn
Arbeitsort: Braunschweig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics AX
Microsoft Dynamics Version: 2.5, 3.0, 4.0, 2009, 2012

Re: Grid nur mit bestimmten Daten aus Table füllen (abhängig vom

Beitragvon helpless » 17. November 2009 23:32

Guten Abend,

danke fĂĽr die Antwort!
Ich habe in der Zwischenzeit nun aber schon eine andere Lösung gefunden.
Und zwar wird einfach diese Zeile in die Init oder Run der Form eingefĂĽgt - und damit auch gefiltert

Code: Alles auswählen
TABELLE_ds.filter(fieldNum(TABELLE, FELD), STRING-WERT);


(funktioniert auch mit
Code: Alles auswählen
int2Str()
im "String"

Danke trotzdem!
helpless
 
Beiträge: 2
Registriert: 14. November 2009 18:32
Realer Name: Chris
Arbeitsort: Deutschland
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics AX
Microsoft Dynamics Version: 4

Re: Grid nur mit bestimmten Daten aus Table fĂĽllen

Beitragvon AndreasSelig » 2. Juni 2010 11:45

Ich hab zwar eine Table als DataSource eingebunden, aber bei mir gibt es kein "this.query()" woran kann das liegen?
Daran, dass ich eine Table statt einer Query als DataSource habe?

Mein Problem ist glaub ich auf die selbe Art und Weise zu lösen wie das des Threads:
Ich will eine selbst entwickelte Form in AX aufrufen, die mir einen bestimmten DatenSatz aus meiner DataSource-Table anzeigen soll.
Momentan, wenn ich die Form aufrufe, wird mir aber immer der erste Eintrag der Table angezeigt, statt der den ich haben will.
AndreasSelig
 
Beiträge: 3
Registriert: 14. April 2010 10:27
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics AX


ZurĂĽck zu AX 4.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast