Pb pour effacer les rows d'un datagridview [Résolu]

Messages postés
62
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
3 avril 2008
- - Dernière réponse : cs_vanid
Messages postés
1
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
5 juillet 2009
- 5 juil. 2009 à 06:19
j'ai un message d'erreur lorsque je veuxeffacer les enregistrements de mon datagridview a partir d'un click_button .le datagrid se charge lors du form load,mon code est le suivant(et apres les imports.system ...):

Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

'Initialisation de la chaîne de paramètres pour la connexion
strConn =
"Provider=Microsoft.Jet.OLEDB.4.0;" &
"Data Source= c:\essai.mdb;"
'Initialisation de la chaîne contenant l'instruction SQL
strSql =
"SELECT * FROM admin"
'Instanciation d'un Objet Connexion
ObjetConnection =
New OleDbConnection

'Donner à la propriété ConnectionString les paramètres de connexion
ObjetConnection.ConnectionString = strConn

'Ouvrir la connexion
ObjetConnection.Open()

'Instancier un objet Commande
ObjetCommand =
New OleDbCommand(strSql)

Instancier un objet Adapter
ObjetDataAdapter =
New OleDbDataAdapter(ObjetCommand)

'initialiser l'objet Command
ObjetCommand.Connection() = ObjetConnection

'initialiser l'objet OleCBComandBuilder (sinon pas d'update)
ObjetCB =
New OleDbCommandBuilder(ObjetDataAdapter)

'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
ObjetDataAdapter.Fill(ObjetDataSet,
"admin")

'Créer une datatable à partir du dataset
ObjetDataTable = ObjetDataSet.Tables(
"admin")

'Mettre dans le DataGrid une table DataTable
DataGridView1.DataSource = ObjetDataTable

End
Sub

Private
Sub
Button1_Click(
ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
DataGridView1.Rows.Clear()
End
Sub

je programme en vb2005 et le message indique:"Impossible d'effacer cette liste"
je dois fire une erreur mais je ne vois pas laquelle, merci pour vos suggestions++
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
3
Merci
Essaye de supprimer (temorairement) la liaison de données : DataGridView1.DataSource = nothing

Ensuite tu devrais pouvoir faire ton Rows.Clear

Tu réaffectera ton datatable quand tu en auras besoin...

<hr />
@+  

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_drahcir
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
0
Merci
L'erreur intervient sur DataGridView1.Rows.Clear()?

Ca doit être parce que ton datagrid est lié à une source de donnée, il ne peut donc pas supprimer les enregistrement de ton datagrid.

Tu veux les supprimer de ta table ou juste ne plus les voir dans ton datagrid?

<hr />
@+  
Commenter la réponse de cs_drahcir
Messages postés
28
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 décembre 2008
1
0
Merci
il faut supprimer l'enregistrement dans la datatable où est stockée le resultat pour ensuite refaire un datagrid.datasource=datatable
Commenter la réponse de Paxx
Messages postés
62
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
3 avril 2008
0
Merci
je veux simplement ne plus les voir dans mon datagrid, afin par la suite de le reamorcer apres nouvelles requètes SQL.........
Commenter la réponse de cs_arpege
Messages postés
28
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 décembre 2008
1
0
Merci
bah dans ce cas, en les supprimant de ton datatable, tu les copie dans une autre datatable que tu utilisera par la suite
Commenter la réponse de Paxx
Messages postés
62
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
3 avril 2008
0
Merci
je suis tout de meme surpris qu'il n'y ai pas une simple commande permettant de reinitialisér les donnée affichées dans le datagrid.....!?! mon datagrid n'est lié à la base que par la ligne:
DataGridView1.DataSource = ObjetDataTable
Commenter la réponse de cs_arpege
Messages postés
62
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
3 avril 2008
0
Merci
effectivement c'est une solution!
merci+
Commenter la réponse de cs_arpege
Messages postés
1
Date d'inscription
jeudi 15 mars 2007
Statut
Membre
Dernière intervention
5 juillet 2009
0
Merci
c trés simple

affecter au datasource nothing
me.datagrid.datasource=Nothing

JAMAL The Real Napster
Commenter la réponse de cs_vanid