|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Bonjour,
J'ai un datagridview basé sur un bindingsource basé sur une table de l'entity framework. Dans la classe accédant à la table j'ai inséré une propriété publique (un booléen). Lorsque je veux remplir mon bindingsource en linq to sql je ne peux pas utiliser la condition 'Where' sur le booleen puisqu'il n'est pas dans la table. La solution serait de faire un filtre mais je ne sais pas comment le coder. D'ailleurs, de façon plus générale, je ne sais pas comment faire un filtre sur un datagridview basé sur un bindingsource dont le datasource est une table de l'entity framework. Comment dois-je m'y prendre ou avez-vous un lien vers un tutoriel ? Merci beaucoup. Laumon. |
|
|
00
|
|
|
#2 | |||
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
Citation:
Code :
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|||
|
20
|
|
|
#3 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Merci beaucoup Tomlev, c'est LA réponse qui me sauve.
Laumon. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Tout est bon pour mon précédent souci.
A présent j'essaie de transposer ça dans un écran de saisie où j'avais une condition de sélection. Je me heurte à un petit soucis... En écrivant si "query" a 0 ligne, j'ai 1 ligne vide dans mon datagridview (+ la nouvelle ligne d'ajout. La ligne vide fait planter l'application.) En écrivantje n'ai pas ce souci s'il y a 0 ligne, j'ai 1 ligne vide dans mon datagridview qui correspond bien à une nouvelle ligne de saisie. D'où sort cette ligne "non affectée/déconnectée" et comment faire pour qu'elle n'apparaisse plus? Merci. Laumon. |
|
|
00
|
|
|
#5 | |||
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
Citation:
Code :
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|||
|
10
|
|
|
#6 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Même pas la peine de compter, le ToList() m'a enlevé cette ligne.
Merci pour ta réactivité Tomlev. +1 Laumon. |
|
|
00
|
|
|
#7 | ||
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Bonjour,
Je ne m'en sortirai pas de ce truc! Pourtant c'est pratique. 1/ Mon datagridview est ok et lié au bindingsource. 2/ mon bindingsource est ok et rempli grace à la liste Voici en simplifié les étapes qui me permettent de remplir le bindingsource. Code :
Par contre si j'ajoute ou supprime une ligne depuis le datagridview, lors de la sauvegarde via aContext.SaveChanges(), la base ne se met pas à jour. La je sèche... Quelqu'un a-t-il une proposition? Laumon. |
||
|
|
00
|
|
|
#8 |
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 770 ![]() |
Normal : à cause du ToList, le DGV n'est plus bindé directement au DbContext, mais à une liste. Quand tu ajoutes un élément dans le DGV, ça l'ajoute donc à la liste, et le DbContext n'est pas modifié. Le AsEnumerable pose le même problème d'ailleurs...
Je ne sais pas trop comment combiner les solutions à tes 2 problèmes... Tu pourrais essayer de récupérer dans la liste les éléments qui ont été ajoutés, et les ajouter manuellement au DbContext, mais c'est pas très pratique.
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
00
|
|
|
#9 |
|
Membre du Club
![]() Développeur .NET Inscription : janvier 2004 Messages : 82 ![]() |
Merci,
Finalement, la première solution m'a bien servi pour mon premier datagridview qui est en mode lecture seule. Quant à mon souhait d'extension à d'autres grilles, je n'ai pas à priori de solution simple (comprendre sans code supplémentaire). Je me cantonnerai à des parcours de datagridview pour rendre invisible les lignes que je ne souhaite pas voir (row.visible = false), ou à des appels en base de données à chaque demande de filtre. Et je poursuivrai mes recherches quand j'aurai plus de temps car je pense qu'il y a des solutions... Merci encore. Laumon. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com