J'ai un GridView qui obtient GridColumns ajouté dynamiquement. Au moment du design, je ne sais pas combien de colonnes la vue va avoir.Existe-t-il un moyen pour GridColumns d'hériter d'un ensemble de paramètres d'apparence par défaut de leur GridView parent?
Ce que je fais actuellement pour formater chacune de ces colonnes ajoutées dynamiquement, est le format eux dans un foreach après la source de données de la grille a été fixé:
foreach (GridColumn gridColumn in gridView.Columns)
{
gridColumn.AppearanceCell.Options.UseTextOptions = true;
gridColumn.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridColumn.AppearanceHeader.Options.UseTextOptions = true;
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
gridColumn.AppearanceHeader.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
gridColumn.OptionsColumn.AllowGroup = DevExpress.Utils.DefaultBoolean.False;
gridColumn.OptionsColumn.AllowIncrementalSearch = false;
gridColumn.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
gridColumn.OptionsColumn.AllowMove = false;
gridColumn.OptionsColumn.AllowSort = DevExpress.Utils.DefaultBoolean.False;
gridColumn.OptionsColumn.AllowEdit = false;
}
Le problème est que je peux avoir un grand nombre de colonnes et ce foreach ralentit mon dessin initial. N'y a-t-il pas moyen de décider, pour GridView, de l'apparence de chacune de ses colonnes, qu'elles aient été ajoutées ou non?
En attendant, j'ai découvert qu'il est très efficace d'appeler SaveLayoutToXml sur GridView avant de créer les colonnes dynamiques, puis de restaurer RestoreLayoutFromXml en utilisant ce même fichier. N'y at-il pas un moyen de sauvegarder et de restaurer la mise en page sans avoir à utiliser un fichier (en d'autres termes, de la mémoire)? – Corpsekicker