Creer une datagrid dynamique en dotnet

Soyez le premier à donner votre avis sur cette source.

Snippet vu 17 610 fois - Téléchargée 40 fois

Contenu du snippet

j'en ai eu marre de chercher a faire une datagrid dynamiquement...alors je l'ai trouver le code..;et je le poste...ca peut re-servir

Source / Exemple :


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MakeNamesTable()
        CreateNewDataRow("REF", 12.54, 4, 12.54 * 4)
        CreateNewDataRow("REF2", 2.54, 3, 2.54 * 3)
        datab.Dock = DockStyle.Top
        datab.Height = 350
        Me.Controls.Add(datab)
    End Sub
    Private Sub CreateNewDataRow(ByVal reference As String, ByVal PU As Double, ByVal qte As Integer, ByVal total As Double)
        Dim myRow As DataRow
        myRow = namesTable.NewRow()
        ' On ajoute la nouvelle row a la collection
        myRow("Reference") = reference
        myRow("Prix_Unitaire") = PU
        myRow("Quantite") = qte
        myRow("Total") = total
        namesTable.Rows.Add(myRow)
        ''ici c t pour faire un dump...je le laisse ca peut servir
        ' Dim dc As DataColumn
        ' For Each dc In myTable.Columns
        ' Console.WriteLine(dc.ColumnName)
        ' Next
        datab.DataSource = namesTable
    End Sub
    Private Function MakeNamesTable() As DataTable
        ' creation de la DataTable nommée 'Names.'
        namesTable = New DataTable("Names")

        ' Ajout de 5 colonnes a la table : id,Reference,Prix_Unitaire,Quantite,Total
        Dim idColumn As DataColumn = New DataColumn()
        idColumn.DataType = System.Type.GetType("System.Int32")
        idColumn.ColumnName = "id"
        idColumn.AutoIncrement = True
        namesTable.Columns.Add(idColumn)

        Dim ReferenceColumn As DataColumn = New DataColumn()
        ReferenceColumn.DataType = System.Type.GetType("System.String")
        ReferenceColumn.ColumnName = "Reference"
        namesTable.Columns.Add(ReferenceColumn)

        Dim PUColumn As DataColumn = New DataColumn()
        PUColumn.DataType = System.Type.GetType("System.Double")
        PUColumn.ColumnName = "Prix_Unitaire"
        PUColumn.DefaultValue = "0"
        namesTable.Columns.Add(PUColumn)

        Dim QteColumn As DataColumn = New DataColumn()
        QteColumn.DataType = System.Type.GetType("System.Int32")
        QteColumn.ColumnName = "Quantite"
        namesTable.Columns.Add(QteColumn)

        Dim TotalColumn As DataColumn = New DataColumn()
        TotalColumn.DataType = System.Type.GetType("System.Double")
        TotalColumn.ColumnName = "Total"
        namesTable.Columns.Add(TotalColumn)
        Dim keys(0) As DataColumn
        keys(0) = idColumn
        namesTable.PrimaryKey = keys
    End Function

A voir également

Ajouter un commentaire

Commentaires

hvb
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
1 -
ca peut etre interessant, je regarderais ca de chez moi. (y a pas .net au taf, snif)
cs_Fornikator
Messages postés
43
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
8 juin 2004
-
Merci jchercher cette source cest trés utile je donne 8/10
aercilla
Messages postés
14
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
5 mai 2003
-
Pourrais tu me dire comment faire fonctionner ton code stp?
Je l'ai copier coller dans un projet vide, et là G datab et namesTable qui sont inconnus (normal, ils sont pas déclarés) Ils se déclarent où et comment?
ronanry
Messages postés
191
Date d'inscription
lundi 25 novembre 2002
Statut
Membre
Dernière intervention
22 décembre 2009
-
oulala...
alors la je suis DESOLE...mais je touche plus DU TOUT a .NET...trop lourd
donc si tu veux de l'aide....demande sur le chat
@+
fdie
Messages postés
1
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
8 décembre 2003
-
G passé mon dimanche a travailler la dessus (pas encore internet).
Je vais tester ça en rentrant pas de vb.net au boulot.
C exactement ce que je cherchais

MERCI D'AVANCE

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.