2016-04-26 6 views
1

Unsere TreeGrid hat einen Suchfilter, die diese Methode aufruftVerwenden `setCriteria` auf TreeGrid und sind Kinder

var aCriteria = { 
    _constructor: "AdvancedCriteria", 
    operator: "and", 
    criteria: [ 
     { fieldName: "EntityName", value:entityFilterFindForm.getValue("find"), operator: "iContains" } 
    ] 
}; 
this.creator.entityFilterTree.setCriteria(aCriteria); 

Dies funktioniert gut den Zielknoten und alle Eltern des Zielknotens zu zeigen. Leider gibt dies die Illusion, dass der Zielknoten keine Kinder hat, ist es möglich, immer noch die Möglichkeit zu bieten, Kinder des Zielknotens zu erweitern?

UPDATE

Die Lösung, die wir hatten, war ein Rohr begrenzt Wert von Vorfahren aus SQL kommen und schließen sind, dass Parameter in unseren Kriterien suchen zu. Auf diese Weise würden die untergeordneten Elemente unseres Suchergebnisses einbezogen, da die Suchzeichenfolge in der übergeordneten Zeichenfolge gefunden wurde.

Antwort

1

Ich habe nie versucht es, aber das Lesen Sie die Dokumentation für Tree.getFilteredTree sehe ich einen Parameter ‚Filtermode‘, die zwei gültige Werte:

„strenge“ nur Knoten, die tatsächlich Kriterien entsprechen, werden gezeigt . Wenn ein Elternteil die Kriterien nicht erfüllt, wird es nicht angezeigt, selbst wenn es untergeordnete Elemente hat, die den Kriterien entsprechen. "KeepParents" übergeordnete Knoten werden beibehalten, wenn sie untergeordnete Elemente haben, die den Kriterien entsprechen, oder in einem Baum with loadDataOnDemand: true, wenn sie noch keine Kinder geladen haben.

Vielleicht keepParents könnte für Ihren Anwendungsfall arbeiten?

Sorry, ich habe gerade festgestellt, dass Sie schon Eltern haben, aber Sie wollen Kinder. Haben Sie bereits versucht, Tree.loadChildren oder reloadChildren aufzurufen?

+0

Vielen Dank für diese Information, ich habe 'loadChildren' oder' reloadChildren' nicht versucht. Ich weiß, dass 'setCritieria' tatsächlich' setData' aufruft, so dass die tatsächlichen Daten zu diesem Zeitpunkt anzeigen, dass Kinder ein leeres Array sind. Die Lösung, die wir hatten, bestand darin, einen röhrenbegrenzten Wert von Vorfahren aus SQL einzuschließen und diesen Parameter in unsere Suchkriterien aufzunehmen. Auf diese Weise würden die untergeordneten Elemente unseres Suchergebnisses einbezogen, da die Suchzeichenfolge in der übergeordneten Zeichenfolge gefunden wurde. – stackoverfloweth

Verwandte Themen