2010-11-15 5 views
0

J'ai un DGV en lecture seule sur un onglet de mon application. Je laisse les utilisateurs trier par colonne et réorganiser les colonnes et sélectionner une ligne. Dans une autre partie de l'application, vous pouvez éditer les données contenues dans ce dgv. Lorsque je reviens à l'onglet avec le dgv, je voudrais actualiser les données mais conserver les paramètres de l'utilisateur tels que l'ordre des colonnes, l'ordre de tri et la rangée sélection. À l'heure actuelle, je ne fais que définir le dgv à la nouvelle liste d'éléments et il réinitialise tous ces paramètres. Y a-t-il de toute façon persister après que j'ai relindé les données?Meilleure façon de mémoriser les paramètres DataGridView lors de la reliaison DataSource

Merci,
Cody

Répondre

0

stocker les paramètres de l'utilisateur dans un objet interne. Enveloppez votre logique de liaison dans les appels SuspendLayout() et ResumeLayout(), de sorte que vous puissiez appliquer les paramètres à la DGV avant que les visuels ne soient redessinés.

// pseudo code 
private void RefreshDGV() 
{ 
    SaveUserSettings(); 
    myDGV.SuspendLayout(); 
    myDGV.DataSource = myDataSource; 
    ApplyUserSettings(); 
    myDGV.ResumeLayout(); 
} 
Questions connexes