IMPRIMER sous Vb.NET

187bundy Messages postés 172 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 10 juin 2004 - 26 avril 2004 à 12:56
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 - 17 nov. 2004 à 16:51
Salut à tous ;-)

Je travaille sur une base de données access avec un dataset et un datagrid. Une fois que le datagrid est rempli, je voudrais mettre une option 'impression' mais je n'ai aucune idée de comment imprimer un dataGrid (ni quoi que ce soit d'ailleurs ! lol)

DataGrid.print, ce serait cool, non ?

Quelqu'un peut m'aider ???
(même juste une piste paske la ...)

187

11 réponses

cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
26 avril 2004 à 14:14
labout
Vas voir
http://www.vbfrance.com/code.aspx?ID=6522
tu as quelquechose de très bien et qui répond à ta quetion
@+
0
187bundy Messages postés 172 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 10 juin 2004
26 avril 2004 à 15:47
Whouaaa !!

Pile ce que je voulais ... par contre y'a du boulo !!! Moi qui rêvais à quelque chose comme DataGrid.print ;-)))

Merci beaucoup en tout ca !!!!

187
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
26 avril 2004 à 15:51
labout
Tu parles après avoir inclu ta Dll en reférence il te reste :
Dim obj, obj2 As Object
obj = objDataGrid.DataSource
If TypeOf (obj) Is DataView Then
obj2 = CType(obj, DataView).Table
Else
obj2 = obj
obj = Nothing
End If
Me.objDataGrid.PageSettings = CustomControls.PageSetup.PageSettings
objDataGrid.PrintPreview(CType(obj, DataView), CType(obj2, DataTable), "Mon titre", CType(Me.BindingContext(objDataGrid.DataSource), CurrencyManager), 25, "Désirez-vous consulter les 25 pages suivantes à imprimer?")
objDataGrid.Print(CType(obj, DataView), CType(obj2, DataTable), "Mon titre", CType(Me.BindingContext(objDataGrid.DataSource), CurrencyManager))

C'est pas un gros boulot
@+
0
187bundy Messages postés 172 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 10 juin 2004
27 avril 2004 à 08:26
ouais, c vrai, sui une vraie feignassse ... Dès qu'ya kke ligne de code j'ai l'impression ke c compliké ...
Parfait alors ;-)

Merci encore !!
187
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
9 nov. 2004 à 12:39
Bonjour,

Desole de relancer ce post, mais apres avoir rajouter la dll en reference et ajouter le code ci-dessus ... j'ai l'erreur suivante :
'PageSettings' is not a member of 'System.Windows.Forms.DataGrid'

Je debute et je ne vois pas quoi rajouter ...

Tout n'est pas inclus dans la dll ?

Merci de votre aide.
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
11 nov. 2004 à 10:51
labout
Je travaille avec la version 2003 et chez moi aucun pb ce doit être une question de version. Donc remplacer le PageSetting
par autre chose. C'est ce qui permet de changer le sens du papier
@+
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
15 nov. 2004 à 18:08
Merci pour votre reponse, je travail egalement en vb.net 2003 version 7.1.3088

L'erreur est pour le 'PageSetting', 'Print' , 'PrintPreview'

Message d'erreur :
'PageSettings' is not a member of 'System.Windows.Forms.DataGrid'
'Print' is not a member of 'System.Windows.Forms.DataGrid'.
'PrintPreview' is not a member of 'System.Windows.Forms.DataGrid'.

dans cette partie du code :
Me.DataGrid1.PageSettings = CustomControls.PageSetup.PageSettings
DataGrid1.PrintPreview(CType(obj, DataView), CType(obj2, DataTable), "Mon titre", CType(Me.BindingContext(DataGrid1.DataSource), CurrencyManager), 25, "Désirez-vous consulter les 25 pages suivantes à imprimer?")
DataGrid1.Print(CType(obj, DataView), CType(obj2, DataTable), "Mon titre", CType(Me.BindingContext(DataGrid1.DataSource), CurrencyManager))

Je l'impression que le CustomControls n'est pas reconnu, pourtant il apparait bien dans "solution explorer>NomProjet>References"

J'ai peut etre oublie quelque chose, mais je ne vois pas quoi...

Avez vous une solution svp ?
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
17 nov. 2004 à 10:52
labout

Il ne faut pas utiliser le datagrid de vb.net mais le composant
que j'ai créé DatagridEx et la pas de problème.
Dans la boite à outil, clic droit , ajouter
puis choisir le composant Customscontrol.dll qui contient
DATAGRIDEX

@+
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
17 nov. 2004 à 15:28
Arg, j'ai 2 erreurs maintenant :

Lorsque je remplasse le DataGrid par DataGridEx, j'ai cette erreur :
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in system.windows.forms.dll
Additional information: Index was out of range. Must be non-negative and less than the size of the collection.

Pourtant avec un DataGrid classic sa fonctionne parfaitement.

La deuxieme erreur se situe ici :
DataGridEx1.PrintPreview(CType(obj, DataView), CType(obj2, DataTable), "Titre", CType(Me.BindingContext(DataGridEx1.DataSource), CurrencyManager), 25, "Désirez-vous consulter les pages suivantes à imprimer?")
DataGridEx1.Print(CType(obj, DataView), CType(obj2, DataTable), "Titre", CType(Me.BindingContext(DataGridEx1.DataSource), CurrencyManager))

Avec comme message d'erreur :
Too many arguments to 'Public Sub Print(objView As System.Data.DataView, objTable As System.Data.DataTable, cm As System.Windows.Forms.CurrencyManager)'.
Too many arguments to 'Public Sub PrintPreview(objView As System.Data.DataView, objTable As System.Data.DataTable, cm As System.Windows.Forms.CurrencyManager, NP As Integer, Question As String)'.
Value of type 'String' cannot be converted to 'System.Windows.Forms.CurrencyManager'.
Value of type 'String' cannot be converted to 'System.Windows.Forms.CurrencyManager'.
Value of type 'System.Windows.Forms.CurrencyManager' cannot be converted to 'Integer'.

Arg, l'apprentissage est assez difficile ... si vous voyez une solution a mes problems...
Merci de votre aide.
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
17 nov. 2004 à 16:00
labout

Si tu reprends mon exemple il marche, je viens de vérifier.
Donc pars du formulaire de l'exemple et modifie le code en fonction de ta base de données.

Vérifies que tu as bien les références que j'ai danon projet exemple
@+
0
cs_Rouk Messages postés 70 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 17 janvier 2010 1
17 nov. 2004 à 16:51
Sa fonctionne, j'ai modifie le projet exemple pour l'adapter a mon projet.

Je ne comprend pas tout pour le moment sur son fonctionnement, mais des que j'ai du temps libre ... je regarderai

Merci.
0
Rejoignez-nous