Bonjour,
je développe une application en wpf/c# avec la datagrid du WPFToolkit de microsoft et je voudrais que celle-ci ne soit pas éditable mais que l’on puisse quand même sélectionné une ligne.
Pour l’instant je n’arrive pas à trouvé quelqu’un aurait-il une idée.
PS : j’ai déjà essayé de changer le “cellstyle” avec un style contenant “isEditing” à false mais ça ne fonctionne pas.
Oui en effet,
J’avais déjà testé mais j’avais une version antérieur (et obsolété) de WPFToolkit dans laquelle “isReadOnly” n’existé pas sur la colon ou même sur la grille.
Merci
Maintenant faut que je trouve comment on fait les Bindings sur les DataGridComboBoxColumn car apparement ils les ont supprimer
PS: on peut aussi le faire sur le control DataGrid
Edité le 24/09/2009 à 17:04
copier ce qui est sélectionné
je veux que celle mette dans le presse papier les données pour pouvoir ensuite les coller dans un tableur excel ou calc par exemple
ou à defaut envoyé au system le signal CTRL+C pour qu’il fasse la copy tout seul
Je sais cela peu paraitre un peu idiot vu que j’ai la fonction export dans mon application mais export permet d’exporter les tableau entier, non la sélection pour le moment;
Edité le 13/10/2009 à 17:22
Je crains qu’il ne faille que tu le gères toi même. Intercepte la combinaison de touches ctrl+c, parcours les lignes sélectionnées, et récupère leur valeur en ajoutant une tabulation entre chaque cellule, et un retour à la ligne à la fin de chaque ligne. Mets le tout dans le presse-papier (il doit y avoir une fonction .NET pour ça), et Excel doit normalement retrouver ses petits
Edité le 13/10/2009 à 17:52
Quoique après quelques recherches, il semblerait que le copier/coller soit géré.
Jette un coup d’il ici, tu trouveras peut-être ton bonheur : blogs.msdn.com…
Merci beaucoup de ton aide j’ai trouvé la solution, son système a lui n’est et de prendre toute ce qui est selectionné et il applique sa moulinette pour le coller dans le presse-papier
J’ai trouvé beaucoup plus simple grâce à lui.
Il a écris :
public class CustomDataGrid : DataGrid
{
static CustomDataGrid()
{
CommandManager.RegisterClassCommandBinding(
typeof(CustomDataGrid),
new CommandBinding(ApplicationCommands.Paste,
new ExecutedRoutedEventHandler(OnExecutedPaste),
new CanExecuteRoutedEventHandler(OnCanExecutePaste)));
}
}
j’ai repéré ce dont j’avais vraiment besoin pour le faire :