bonjour j'ai fait un gridview que je veux remplir à partir des champs sur la meme page et cliquer sur valider pour créer une nouvelle ligne dans le gridview et à la fin de saisie de tout les enregistrement quand je clique sur le bouton terminer ces enregistrement doivent etre enregistré dans la base de données mais le probleme c'est que le gridview deja ne se remplie pas on m'affiche un messsage d'ereur l'index est hors limite il ne doit pas etre negatif le voila le code du grid view quand on clique sur valide


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_ajouter.Click
              Try
 
            '--------------------------------------------------remplir la gridview
            Dim dr As DataRow = ViewState("dt").NewRow()
            If cpt = True And piece = False Then
                ViewState("dt").Rows.Add(dr)
                dr(0) = Me.combo_jrnl.Text
                dr(1) = Me.t4.Text
                dr(2) = Me.txt_Ncpt.Text
                dr(3) = Me.txt_NFacture.Text
                dr(4) = Me.txt_LibEcr.Text
                dr(5) = Me.txt_dbt.Text
                dr(6) = Me.txt_crd.Text
                dr(7) = Me.txt_dtEch.Text
                dr(8) = Me.txt_dEcr.Text
                dr(9) = Me.txt_RefDoc.Text
 
                gv1.DataBind()
                formater()
                gv1.Visible = True                
            Else
                Exit Sub
            End If
            '------------------------------------ --------------le calcul
        Catch ex As Exception
 
            MsgBox(ex.Message)
        End Try
    End Sub



et ici c'est la partie de gridview dans le load " il doit etre invisible au load puisqu'on a pas encore ajouté d'enregistrements


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
                   '----------------------------------------------------------remplir la datagridviews
            cn.Open()
 
            If Not IsPostBack Then
                Try
                    ds = New DataSet
                    dt = New DataTable
 
                    dt.Columns.Add(New DataColumn("Code journal"))
                    dt.Columns.Add(New DataColumn("num piece"))
                    dt.Columns.Add(New DataColumn("Numero compte"))
                    dt.Columns.Add(New DataColumn("N° Facture"))
                    dt.Columns.Add(New DataColumn("Libellé Ecriture"))
                    dt.Columns.Add(New DataColumn("Débit"))
                    dt.Columns.Add(New DataColumn("Crédit"))
                    dt.Columns.Add(New DataColumn("Date Echeance"))
                    dt.Columns.Add(New DataColumn("Date reelle"))
                    dt.Columns.Add(New DataColumn("tag"))
 
                    gv1.DataSource = New DataView(dt)
                    gv1.DataBind()
                    ViewState.Add("dt", dt)
                    gv1.Visible = False
                    '
                    '
                Catch ex As Exception
                    lb_msg.Text = ex.Message
                End Try
                '------------------------------------------------------------------------------------