Button-Spalte in Infragistics-Grid

Möchte man, dass eine Spalte in einem Infragistics WinGrid immer einen Button zeigt, so sind zum einen viele Online-Hilfe irreführend und zum anderen eigentlich alles ganz einfach. codingfreaks zeigt kurz, wie es geht.

Was soll eigentlich bei dem ganzen Spaß herauskommen? Die folgende Abbildung zeigt das gewünschte Ergebnis:

So soll das Grid im Beispiel aussehen.

Von Interesse ist dabei nur die Spalte im letzten Eintrag. In meinem Beispiel habe ich das Grid an eine UltraDataSource gebunden, die die Spalten sozusagen vordefiniert. Danach hat man den Luxus, dass man, obwohl man das Grid nicht direkt an die Datenbank bindet, angenehm die Spalten designen kann. Nach einem Rechtsklick auf das Grid und der Auswahl von „UltraWinGrid-Designer“ wechselt man zu „Band and Column Settings“ -> „Band [0] …“ -> „Columns“ und klickt daraufhin in der Liste der Columns auf die Spalte, die später als Button dargestellt werden soll.

Ist diese Spalte übrigens nicht vorhanden, kann sie über „Add unbound column“ jederzeit hinzugefügt werden. Dies wird für all diejenigen eine wichtige Info sein, die es gewohnt sind, Spalten mit Null-Werten an Grids zu übergeben, um sie als Button-Spalten zu missbrauchen.

Hier nun ein Screenshot des Designers:

Style-Wert finden

Im Screenshot sieht man bereits die Änderung, die ich vorgenommen habe. Anders, als oftmals beschrieben, muss nämlich nicht die Type- sondern die Style-Eigenschaft geändert werden. Das Märchen mit der Type-Eigenschaft kommt daher, dass im WebGrid eine solche Property existiert!

Das Setzen der Eigenschaft allein bringt aber noch nicht das gewünschte Ergebnis. In der Vorschau ist kein Button zu sehen und starten man das Projekt, sieht man auch erstmal nur eine normale Zelle. Zurück im UltraWinGrid-Designer muss man sich noch der Eigenschaft „ButtonDisplayStyle“ (ebenfalls bei der jeweiligen Column) widmen. Diese steht nämlich auf ihrem Default-Wert „OnMouseEnter“. Würde man also den Mauszeiger über der Zelle bewegen, würde der Button erscheinen. Möchte man einen permanent sichtbaren Button haben, wählt man hier einfach „Always“ aus.

Alle weiteren Eigenschaften den Button betreffend werden über die Appearance „CellButtonAppearance“ an der Spalte geregelt. Im Beispiel oben habe ich die Eigenschaften für Image, ImageHAlign und ImageVAlign entsprechend angepasst, um einen bebilderten Button zu erhalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.