Je ne connais ni Silverlight ni RIA. J'ai un formulaire simple avec un DataGrid lié à un objet DomainDataSource. Les lignes affichées représentent les en-têtes de section à afficher sur une page Web. Une des colonnes s'appelle OrdinalPosition et j'ai spécifié que la grille doit trier par cette colonne. J'ai une colonne personnalisée avec des flèches haut et bas. Le comportement souhaité est que lorsque l'utilisateur clique sur les boutons haut/bas, l'OrdinalPosition est incrémentée/décrémentée afin qu'ils puissent spécifier dans quel ordre les sections apparaissent.La grille de données de Silverlight 4 n'est pas re-triée
Si je modifie manuellement la valeur dans la colonne OrdinalPosition, dès que Je sors de la rangée où la grille se réorganise. Cependant, si j'utilise codebehind pour modifier la valeur de la grille ne se réorganise pas (même si la grille n'affiche la nouvelle valeur.) Voici mon behind pour le bouton clic ...
private void incrementOrdinal(object sender, System.Windows.RoutedEventArgs e)
{
Button btn = (Button)sender;
Section s = (Section)sectionDataGrid.SelectedItem;
s.Ordinal++;
sectionDataGrid.CommitEdit();
}
est-il quelque chose que je devrais faire pour repérer la grille pour réorganiser ses enregistrements? DomainDataSource ne re-triera pas les données automatiquement lorsque les enregistrements changent, sauf si l'interface IEditableCollectionView est utilisée pour appliquer les modifications à travers les données que le DomainDataSource expose via ses données ou DataView.