187bundy
Messages postés172Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention10 juin 2004
-
26 avril 2004 à 12:56
cs_Rouk
Messages postés70Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention17 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 ...)
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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))
cs_Rouk
Messages postés70Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention17 janvier 20101 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'
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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
@+
cs_Rouk
Messages postés70Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention17 janvier 20101 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...
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 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
cs_Rouk
Messages postés70Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention17 janvier 20101 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.