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

cs_arpege 62 Messages postés samedi 25 octobre 2003Date d'inscription 3 avril 2008 Dernière intervention - 27 juin 2007 à 11:00 - Dernière réponse : cs_vanid 1 Messages postés jeudi 15 mars 2007Date d'inscription 5 juillet 2009 Dernière intervention
- 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

Répondre au sujet
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 27 juin 2007 à 14:08
+3
Utile
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 />
@+  
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_drahcir
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 27 juin 2007 à 11:39
0
Utile
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
Paxx 28 Messages postés mercredi 18 mai 2005Date d'inscription 4 décembre 2008 Dernière intervention - 27 juin 2007 à 12:06
0
Utile
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
cs_arpege 62 Messages postés samedi 25 octobre 2003Date d'inscription 3 avril 2008 Dernière intervention - 27 juin 2007 à 12:28
0
Utile
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
Paxx 28 Messages postés mercredi 18 mai 2005Date d'inscription 4 décembre 2008 Dernière intervention - 27 juin 2007 à 12:32
0
Utile
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
cs_arpege 62 Messages postés samedi 25 octobre 2003Date d'inscription 3 avril 2008 Dernière intervention - 27 juin 2007 à 12:46
0
Utile
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
cs_arpege 62 Messages postés samedi 25 octobre 2003Date d'inscription 3 avril 2008 Dernière intervention - 27 juin 2007 à 15:13
0
Utile
effectivement c'est une solution!
merci+
Commenter la réponse de cs_arpege
cs_vanid 1 Messages postés jeudi 15 mars 2007Date d'inscription 5 juillet 2009 Dernière intervention - 5 juil. 2009 à 06:19
0
Utile
c trés simple

affecter au datasource nothing
me.datagrid.datasource=Nothing

JAMAL The Real Napster
Commenter la réponse de cs_vanid

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.