IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] mise à jour datagrid


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut [VB.NET] mise à jour datagrid
    Bonjour,
    je continue de vous embeter avec mes datagrid, mais j'ai un autre bug, je rajoute des éléments ds mon tableau, celui-ci s'affiche correctement avec le nouvel élément, mais le compteur affichant le nombre d'élément ne tient pas compte de mon ajout tant que je ne réactualise pas la page.

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    c'est ballot.

    Tu nous prends pour madame soleil pour qu'on te dises ce qui ne va pas sans qu'on voit ton code

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    disons que je ne sais pas vraiment qu'elle partie du code je dois vous mettre.
    On va essayer:

    je crée mes colonnes :
    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
    31
    32
    33
     'test tableau avec liste en double
            'HeaderList
            ProfileDoubleList.HeaderListText = "Exists profile(s)"
            ProfileDoubleList.HideToolFilter = True
     
            Dim lobjRequest As New AVP_MSD.MAT.DE.Profile
            Dim aobjDataView = New DataView(lobjRequest.DataSet.Tables(0))
            lobjBoundColumn = New System.Web.UI.WebControls.BoundColumn
            lobjBoundColumn.HeaderText = "Countries"
            lobjBoundColumn.DataField = "CNT_CODE_BEFORE"
            ProfileDoubleList.DataGrid.Columns.Add(lobjBoundColumn)
     
            lobjBoundColumn = New System.Web.UI.WebControls.BoundColumn
            lobjBoundColumn.HeaderText = "Platforms"
            lobjBoundColumn.DataField = "TOL_CODE_BEFORE"
            ProfileDoubleList.DataGrid.Columns.Add(lobjBoundColumn)
     
            lobjBoundColumn = New System.Web.UI.WebControls.BoundColumn
            lobjBoundColumn.HeaderText = "Profiles before"
            lobjBoundColumn.DataField = "PRF_CODE_BEFORE"
            ProfileDoubleList.DataGrid.Columns.Add(lobjBoundColumn)
     
     
            Dim lobjTempateColumn2 As New TemplateColumn
            Dim lobjItem2 As New DataGridTemplate(ListItemType.Item, "Choix")
            lobjTempateColumn2.ItemTemplate = lobjItem2
            ProfileDoubleList.DataGrid.Columns.Add(lobjTempateColumn2)
     
            lobjBoundColumn = New System.Web.UI.WebControls.BoundColumn
            lobjBoundColumn.HeaderText = "Profiles after"
            lobjBoundColumn.DataField = "PRF_CODE_AFTER"
            'lobjBoundColumn.SortExpression = "PRF_CODE_AFTER"
            ProfileDoubleList.DataGrid.Columns.Add(lobjBoundColumn)
    Je remplis avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     If Not IsPostBack Then
                CreateDataSource(lobjProfileDAC.fobjListprofile(lbl_login.Text).DataSet, lobjDataView)
                Session("Ctx_listprofile") = lobjDataView
            Else
                lobjDataView = Session("Ctx_listprofile")
            End If
            ProfileList.DataGrid.Width = System.Web.UI.WebControls.Unit.Percentage(90)
            ProfileList.DataGrid.AllowSorting = True
            ProfileList.DataGrid.DataSource = lobjDataView
            ProfileList.DataGrid.DataBind()
            ProfileList.HideMultiPage = False
    la fonction createDataSource :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CreateDataSource(ByVal aobjDataSet As DataSet, ByRef aobjDataView As DataView)
            aobjDataView = New DataView(aobjDataSet.Tables(0))
            Dim lobjRow As DataRow
            Dim lstrShareName As String
            'add columns to dataview in order to display agregate fields and links
            aobjDataView.Table.Columns.Add("PRF_CODE_VAL", System.Type.GetType("System.String"))
            aobjDataView.Table.Columns.Add("CNT_CODE_VAL", System.Type.GetType("System.String"))
            aobjDataView.Table.Columns.Add("TOL_CODE_VAL", System.Type.GetType("System.String"))
            For Each lobjRow In aobjDataView.Table.Rows
                lobjRow.Item("PRF_CODE_VAL") = lobjRow.Item("PROFIL")
                lobjRow.Item("CNT_CODE_VAL") = lobjRow.Item("COUNTRY")
                lobjRow.Item("TOL_CODE_VAL") = lobjRow.Item("PLATFORM")
            Next
        End Sub
    et quand je veux mettre à jour, j'insère dans ma table et je fais ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lobjDataView = Session("Ctx_listprofile")
                        CreateDataSource(lobjProfileDAC.fobjListprofile(user).DataSet, lobjDataView)
                        Session("Ctx_listprofile") = lobjDataView
                        ProfileList.DataGrid.DataSource = lobjDataView
                        ProfileList.DataGrid.DataBind()
    Comme je le disais dans un précédent post, je débute .NET et doit faire une évolution sur une application.
    Peut-être que ce qui est fait ici n'est pas la bonne méthode, mais je ne suis pas sur de pouvoir reprendre le code.

    Par ailleur pour ce qui est de mon post sur mon problème de suppression, je te remercie pour ta réponse, mais je n'arrive pas à accéder à la méthode CurrentRowIndex

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    Il y avait une méthode a appelé pour mettre à jour, et celle-ci n'était jamais utilisé.
    Maintenant ca marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] Mise à jour application
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/11/2006, 16h07
  2. [VB.NET] Mise à jour d'un site à partir d'une application
    Par boulete dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/04/2006, 12h15
  3. [VS2003][VB.NET]Mise à jour DataSet d'une grille (erreur)
    Par m-mas dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/02/2006, 10h41
  4. [VB.net] Mise à jour d'un datagrid
    Par WriteLN dans le forum Windows Forms
    Réponses: 10
    Dernier message: 16/11/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo