C# - DevExpress XtraGrid - Maître/Détail - Format D'Affichage
Scénario
- J'ai un DevExpress XtraGrid.
- Les données affichées dans un format maître/détail, en vertu de laquelle cliquant sur le " + " au début de la ligne élargit les détails de ce maître de la ligne.
- J'ai mis en œuvre ce en liant les grilles de la source de données à un dictionnaire d'objets qui contiennent leur propre Dictionnaire de la propriété (pour garder le détail).
Problème
- Ce que je veux faire est de formater les données dans des colonnes spécifiques du détail.
- Cependant, je ne peux pas obtenir de la colonne, sans doute parce que c'est un sous-élément du maître de la ligne (et, par conséquent, n'est pas vérifiée?)
- Ci-dessous sont 2 exemples de code de l'application, j'ai essayé jusqu'à présent qui ne fonctionnent pas.
Tentatives De Solutions De Code
gridView1.Columns["Price"].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
gridView1.Columns["Price"].DisplayFormat.FormatString = "n4";
private void gridView1_RowCellStyle(object sender, RowCellStyleEventArgs e)
{
GridView View = sender as GridView;
if (e.Column.FieldName == "Price")
{
e.Column.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
e.Column.DisplayFormat.FormatString = "n4";
}
}
Aider grandement apprécié.
OriginalL'auteur Goober | 2010-08-31
Vous devez vous connecter pour publier un commentaire.
Pour formater des valeurs dans un détail GridView, vous devriez obtenir une instance de cet objet en premier. Assez beaucoup la façon habituelle de faire, c'est de gérer le Maître GridView est MasterRowExpanded gestionnaire d'événement. Dans ce gestionnaire d'événements, vous pouvez également définir une colonne DisplayFormat:
Pour résoudre le 'ReadyOnly d'erreur" vous devez ajouter quelques lignes de code: FormatInfo displayFormat = détail.Les Colonnes("FieldNameNotColumnName").DisplayFormat; displayFormat.FormatString = ...;
OriginalL'auteur DevExpress Team