Gibt es eine Möglichkeit, filter UltraGrids basierend auf dem Wert von 2 Spalten?
Sagen, ich habe eine Infragistic UltraGrid
mit Spalten Foo und Bar. Ist es möglich in der Tabelle zu filtern, so dass nur Zeilen, in denen Foo und Bar nicht gleich angezeigt werden?
Wenn ich beispielsweise hatte diese Daten:
Foo Bar
--------
0.1 0.1
0.1 0.2
0.2 0.2
Den filter verbergen würde die erste und die Dritte Zeile.
- In den jüngsten Proben, die UltraGridFilterUIProvider Kontrolle scheint in der Lage zu tun, die Filterung mit verschiedenen Spalten. Die Probe wird genannt
Excel Style Filtering
- Wie sind Sie suchen, um zu bewirken, dass diese über die Benutzeroberfläche, da die UI des grid nicht als Standard? Wenn Sie das hinzufügen Ihrer eigenen Schaltfläche oder die option externe, um das raster auf dem Formular, dann wird es einfacher sein zu filtern die DataTable lieber als das Netz. In diesem Beispiel legen Sie den RowFilter auf die DefaultView der DataTable. Zum Beispiel, wenn Sie Ihre Datentabelle ist fooData Sie möchten, verwenden Sie die folgende: fooData.Standardansicht.RowFilter = "Foo" < "> "Bar";
- Ich würde es keiner über die Benutzeroberfläche. Wäre es nicht möglich für Benutzer zu wechseln dieses filters.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist einfacher als es scheint und ich bin sicher, dass Sie nicht haben, um zusätzliche Spalte oder so:
Sollten Sie in der Lage, dies zu tun aus dem Netz-designer;
[Foo]!=[Bar]
zu Ihrer Datenquelle.DisplayLayout.Override.RowFilterMode = RowFilterMode.AllRowsInBand
.grid.DisplayLayout.Band[].ColumnFilters
fügen Sie eine neueFilterLogicalOperator.And
mit der neuen SpalteFilterConditions.Add(FilterComparisionOperator.Equals, true)
.DataTable
. Würde es funktionieren, fügen Sie ein ungebundenes Spalte UltraGrid?FilterCondition
verwendet Werte aus mehreren Spalten, daher mein Vorschlag um eine neue Spalte zu sagen, ob die Werte ungleich sind und filter auf, die.Da Sie nicht erlaubt Benutzern, schalten Sie diese filter und sind mit einer DataTable, die einfachste Lösung ist, filtern Sie die Datentabelle lieber als das Netz.
Zum Beispiel, wenn Sie Ihre Datentabelle ist fooData Sie möchten, verwenden Sie die folgende: