Benutzer mit den meisten Antworten
DataGrid.CanUserAddRows-Eigenschaft ist nicht vorhanden. (WCF RIA Services)

Frage
-
Hallo, ich stehe vor folgenden Problem. Ich habe ein Datagrid (bereitgestellt via WCF RIA Services). Im Domain Service ist das bearbeiten aktiviert. Ich möchte nun eine leere Zeile am Ende des Datagrids hinzufügen und diese bearbeiten. Allerdings fehlt dem DataGrid die Eigenschaft CanUserAddRows. Aus anderen Quellen habe ich erfahren das CanUserAddRows= "true" sein muss und Zeilen hinzuzufügen. Was muss ich tun um eine Zeile anzufügen?Freitag, 8. April 2011 10:25
Antworten
-
Hallo T.,
-
... Aus anderen Quellen habe ich erfahren das CanUserAddRows= "true" sein muss ...
das ist aber nur bei WPF so: [DataGrid.CanUserAddRows-Eigenschaft].
Bei Silverlight haben wir aber die: DataGrid-Klasse mit diesen Membern, die haben kein CanUserAddRows.
Hier hast Du nur nur Eigenschaften wie: CanUserReorderColumns, CanUserResizeColumns, CanUserSortColumns.Ab dem Silverlight 4 (September 2010 Update) wurde die IEditableCollectionView Schnittstelle erweitert, sodass nun in Silverlight auch für die NewItemPlaceholderPosition-Eigenschaft die Angabe: AtEnd möglich ist (vorher nur None, in WPF auch AtBeginning). Das DataGrid wurde ebenfalls so angepasst, dass es diese Enum-Einstellung erkennt, sodass es mit jedem IEditableCollectionView funktioniert. Aktuell benutzen aber AFAIK keine eingebauten CollectionViews dieses Enum, sodass man die Funktionalität noch nicht mit einer einfachen Eigenschaft aktiviert bekommt (wird später kommen). Man kann natürlich den AtEnd Teil des Interfaces in seiner eigenen CollectionView implementieren. (->IEditableCollectionView.CanAddNew-Eigenschaft). Oder über die Dialog-Eingabe des neuen Elementes mit einem Popup gehen.
Will man es manuell implementieren bleiben natürlich auch Möglichkeiten wie:
- [Adding rows to datagrid dynamically]
(Hinzufügen einer neu erzeugten Entität in der Collection des ItemsSource)
- Oder bei der DataForm [Just geeks: Adding a new row to a DataForm in Silverlight]
- Mit Master Detail-Funktionalität (Silverlight Toolkit 4/Data/DataGrid/Master-Details with DataGrid and DataForm)
ciao Frank- Als Antwort markiert Toppa[VB.net] Montag, 11. April 2011 12:25
Sonntag, 10. April 2011 09:29 -
Alle Antworten
-
Hallo T.,
-
... Aus anderen Quellen habe ich erfahren das CanUserAddRows= "true" sein muss ...
das ist aber nur bei WPF so: [DataGrid.CanUserAddRows-Eigenschaft].
Bei Silverlight haben wir aber die: DataGrid-Klasse mit diesen Membern, die haben kein CanUserAddRows.
Hier hast Du nur nur Eigenschaften wie: CanUserReorderColumns, CanUserResizeColumns, CanUserSortColumns.Ab dem Silverlight 4 (September 2010 Update) wurde die IEditableCollectionView Schnittstelle erweitert, sodass nun in Silverlight auch für die NewItemPlaceholderPosition-Eigenschaft die Angabe: AtEnd möglich ist (vorher nur None, in WPF auch AtBeginning). Das DataGrid wurde ebenfalls so angepasst, dass es diese Enum-Einstellung erkennt, sodass es mit jedem IEditableCollectionView funktioniert. Aktuell benutzen aber AFAIK keine eingebauten CollectionViews dieses Enum, sodass man die Funktionalität noch nicht mit einer einfachen Eigenschaft aktiviert bekommt (wird später kommen). Man kann natürlich den AtEnd Teil des Interfaces in seiner eigenen CollectionView implementieren. (->IEditableCollectionView.CanAddNew-Eigenschaft). Oder über die Dialog-Eingabe des neuen Elementes mit einem Popup gehen.
Will man es manuell implementieren bleiben natürlich auch Möglichkeiten wie:
- [Adding rows to datagrid dynamically]
(Hinzufügen einer neu erzeugten Entität in der Collection des ItemsSource)
- Oder bei der DataForm [Just geeks: Adding a new row to a DataForm in Silverlight]
- Mit Master Detail-Funktionalität (Silverlight Toolkit 4/Data/DataGrid/Master-Details with DataGrid and DataForm)
ciao Frank- Als Antwort markiert Toppa[VB.net] Montag, 11. April 2011 12:25
Sonntag, 10. April 2011 09:29 -
-
Hallo,
da nun etwas mehr als ein Jahr vergangen ist, und sich das Problem für mich auch gerade stellt, frage ich mal nach ob sich etwas geändert hat.
Ich konnte nicht ein Beispiel finden, wie man Zeilen in einem Grid hinzufügen kann, ohne vorher einen Butten drücken zu müssen.
Ich habe das hier mal durchgearbeitet, aber dort geht es sogar nur mit einem Dialog.
In Lightswitch geht es ja auch irgendwie.
Gruß Thorsten
Montag, 15. August 2011 09:27