A voir également:
- Alimentation d'une DATAGRIDVIEWCOMBOBOX par une donnée SQLITE
- Aucune option d'alimentation n'est actuellement disponible - Guide
- Connaitre son alimentation pc ✓ - Forum Matériel & Système
- Calculateur alimentation pc - Guide
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Webmastering
- Comment connaitre la puissance de mon alim ? - Forum Matériel & Système
4 réponses
Utilisateur anonyme
Modifié le 26 avril 2020 à 12:40
Modifié le 26 avril 2020 à 12:40
Bonjour
Voici un court tuto pour bien utiliser les balises de codes et donc vien presenter ton code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour le xaml, il faut choisir xml.
Tu as encore le temps d’éditer ton message.
Un autre point et pas des moindres, un datagridview et un datagrid sont deux contrôles très différents.
Le datagridview n’existe pas en xaml, c’est un contrôle winform et inversement.
Quand tu auras modifié, ta présentation, je pourrais mieux lire et avancer sur ton problème.
Voici un court tuto pour bien utiliser les balises de codes et donc vien presenter ton code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour le xaml, il faut choisir xml.
Tu as encore le temps d’éditer ton message.
Un autre point et pas des moindres, un datagridview et un datagrid sont deux contrôles très différents.
Le datagridview n’existe pas en xaml, c’est un contrôle winform et inversement.
Quand tu auras modifié, ta présentation, je pourrais mieux lire et avancer sur ton problème.
Utilisateur anonyme
26 avril 2020 à 13:01
26 avril 2020 à 13:01
C'est dommage, il y a longtemps que j'ai arrêté de bidouiller des contrôles winform, au profit du xaml bien plus souple et puissant.
Je vais tâcher de me pencher sur ton code, mais avec moins d'optimisme qu'il y a 20 minutes.
Je vais tâcher de me pencher sur ton code, mais avec moins d'optimisme qu'il y a 20 minutes.
Utilisateur anonyme
26 avril 2020 à 15:14
26 avril 2020 à 15:14
Voilà ce que je te propose, tu écris une classe qui correspond à tous les champs de la table.
Un peu comme ComptaCsv, mais complet et la date de type DateTime
(travailler avec des dates en string est une erreur fondamentale, par exemple en string "01/12/2020" est avant "02/01/2020", ou encore "30/02/2020" existe) .
Ensuite, à partir de la datatable, tu charges une List<T>, un truc dans le genre
(source https://stackoverflow.com/questions/1427484/convert-datatable-to-listt )
C'est cette liste qui sera le DataSource du datagriview, à la place de la table.
Ensuite, pour chaque combobox, une requête Select.Distinct
Ensuite à priori tu devrais pouvoir affecter ces 2 listes comme source des combobox.
Je dis à priori, car je n'ai pas essayé, j'ai tapé ces lignes directement dans le message.
PS pour Sqlite, je me sers d'une classe qui permet de charger directement dans des List<T> et de faire des requêtes Linq sans Datatable: sqlite-net https://www.nuget.org/packages/sqlite-net/ . Tu peux la télécharger avec le gestionnaire NuGet de Visual Studio
PS2 le solde étant le résultat d'une opération, il n'est pas forcément nécessaire que ce soit un champ dans la base de donnée.
Un peu comme ComptaCsv, mais complet et la date de type DateTime
(travailler avec des dates en string est une erreur fondamentale, par exemple en string "01/12/2020" est avant "02/01/2020", ou encore "30/02/2020" existe) .
Ensuite, à partir de la datatable, tu charges une List<T>, un truc dans le genre
List<Compta> comptas = table.AsEnumerable().Select(m => new Compta() { Date = m.Field<DateTime>("DATE"), Libelle = m.Field<string>("LIBELLE"), Montant = m.Field<double>("MONTANT"), //ect pour tous les champs }).ToList()
(source https://stackoverflow.com/questions/1427484/convert-datatable-to-listt )
C'est cette liste qui sera le DataSource du datagriview, à la place de la table.
Ensuite, pour chaque combobox, une requête Select.Distinct
List<string> categories = comptas.Select(c => c.Categorie).Distinct(); List<string> sousCategories = comptas.Select(c => c.SousCategorie).Distinct();
Ensuite à priori tu devrais pouvoir affecter ces 2 listes comme source des combobox.
Je dis à priori, car je n'ai pas essayé, j'ai tapé ces lignes directement dans le message.
PS pour Sqlite, je me sers d'une classe qui permet de charger directement dans des List<T> et de faire des requêtes Linq sans Datatable: sqlite-net https://www.nuget.org/packages/sqlite-net/ . Tu peux la télécharger avec le gestionnaire NuGet de Visual Studio
PS2 le solde étant le résultat d'une opération, il n'est pas forcément nécessaire que ce soit un champ dans la base de donnée.