Bonjour,
Je fais actuellement un datagrid en mode autogenerated colums et je remplie les données.
Mais lorsque un champs est vide, je veux le mettre en rouge la cellule en question est-ce possible ?
Merci d'avance
Bonjour,
Je fais actuellement un datagrid en mode autogenerated colums et je remplie les données.
Mais lorsque un champs est vide, je veux le mettre en rouge la cellule en question est-ce possible ?
Merci d'avance
voici mon code xaml je n'arrive pas a mettre de Foreground dans mes champs afin de le controler dans mon code behind comment faire ?
xmlns:c1DataGrid="clr-namespace:C1.Silverlight.DataGrid;assembly=C1.Silverlight.DataGrid"<c1DataGrid:C1DataGrid x:Name="deletedItemsGrid" CanUserReorderColumns="true" AutoGenerateColumns="False"
CanUserResizeColumns="True" CanUserAddRows="false" CanUserEditRows="True" MouseLeftButtonDown="deletedItemsGrid_MouseLeftButtonDown"
SelectedIndex="0" RowHeight="25">
<c1DataGrid:C1DataGrid.Columns>
<c1DataGridataGridTextColumn Header="Title" x:Name="clientTitle" Binding="{Binding Path=titleField}"/>
</c1DataGrid:C1DataGrid.Columns>
</c1DataGrid:C1DataGrid>
bonjour,
oui j'ai pris le temps de le lire et essayer de le faire mais n'arrive pas
voici mon code
la je recupere la colonne on le comparant mais je pense qui'il une methode plus propre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private void itemsGrid_LoadingRow(object sender, C1.Silverlight.DataGrid.DataGridRowEventArgs e) { if (itemsGrid.Columns[0].Header.ToString() == "Title") { if(itemsGrid.Rows[e.Row].DataItem == null) { // foreground } } }
Mon souci je ne voie pas comment je peu recuperer les champs dans la column.
deplus je ne vois meme pas la methode pour changer de couleur![]()
J'ai eu le même problème que toi. Personnellement j'ai pas trouver de méthode pour changer de couleur de façon explicite alors, pour éviter de me prendre la tête, j'ai doublé le nombre de colonne du DataSet que je liai à mon Datagrid.
Dans une colonne je met la valeur qui doit être affiché, dans la seconde je met la couleur qui doit apparaitre. Ensuite il y a juste à binder le foreground de la colonne du Datagrid à la colonne du dataset possédant la couleur. La modification de la couleur se fera alors en modifiant la valeur de ta colonne dans le dataset.
J'espère ne pas trop t'avoir embrouillé.![]()
je comprend ton idée, mais ma datagrid va avoir 90 columns et va falloir que je test toutes les cellules vides donc du coup au chargement ce n'est pas top.
mais merci de ton aide.
quelqu'un d'autre a meilleur solution ? que de dupliquer les columns ?
Au chargement tu pourrais mettre la valeur rouge par defaut (donc pas de problème de temps de chargement). Après tu as juste un évènement à mettre sur la cellule en cours de modification. La solution est pas si lourde que tu le penses.
Sinon si c'est juste pour modifier la couleur parce que le champs en vide, dans ce cas la c'est qqch de très basique qui doit pouvoir se faire avec un trigger. Tu dois donc pas chercher du coté du C# mais du XAML pour ça.
ok merci je vais essayer cela ce weekend.
Pour plus tard je vais avoirs des cellules qui vont s'ajouter avec d'autre cellule et j'aimerais differentier avec des couleurs et la je commence a faire simple mais je vois aussi pour plus tard.
Partager