begin process at 2012 05 27 22:50:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

HELP - Session et datatable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

HELP - Session et datatable

lundi 7 décembre 2009 à 11:29:35 | HELP - Session et datatable

nerone21

Bonjour,

J'AI VRAIMENT VRAIMENT BESOIN D'AIDE SVP. MERCI.

J'ai un (voir deux) problème(s) sur le comportement d'une page qui ne se comporte pas pareil à partir de l'environnement de test de Visual Studio et la même page publiée sur un serveur.

Le concept :
- Chargement d'un fichier XML dans une variable de session sous forme de Datatable.
- Chargement d'une gridview à partir de cette Datatable (Gridview avec Select,Edit et Delete)

Voilà les problèmes :
  • - Lors de la suppression d'une ligne de la gridview par la commande Delete :
    Méthode :
    - Appel d'une fonction de suppression avec en paramètre la ligne à supprimée.
    - Chargement de la variable de session dans une datatable, suppression de la ligne correspondante, databind de la datatable dans la gridview.

    Env. de test : La suppression se passe très bien. (1 ligne)
    Site Publié : 2 lignes sont supprimées dans la gridview. (la ligne voulue et la suivante)




  • - Lors de l'ajout d'une ligne dans la gridview :
    Méthode :
    - Après remplissage du formulaire d'ajout.
    - Chargement de la variable de session dans une datatable, ajout d'une ligne avec les éléments dedans, databind de la datatable dans la gridview.

    Env. de test : L'ajout de ligne se passe très bien.
    Site Publié : Il ne se passe rien.



    le code pour les courageux : (il est pas long)

    Code Visual Basic :
    Imports System.Xml
    Imports System.Collections.ObjectModel
    
    
    Partial Class _Default
        Inherits System.Web.UI.Page
    
    
    
        Private strOutput As String = ""
        Private PathOfXML As String = "\\10.15.78.216\transition\pubs.xml"
        Private Tab() As String = {"datedebut", "datefin", "titre", "prixbase", "prixpromo", "categorie", "calibre", "origine", "photo"}
    
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                'Chargement des photos dans une DropDownList
                Dim files As String() = System.IO.Directory.GetFiles(Server.MapPath("~/photo/"), "*.jpg")
                For Each f As String In files
                    ddl.Items.Add(System.IO.Path.GetFileName(f))
                Next
                ChargementXML()
            End If
    
        End Sub
    
        Protected Sub ChargementXML()
            Dim xmldoc As New XmlDataDocument()
    
            Try
                xmldoc.DataSet.ReadXml(PathOfXML)
    
                GridView1.DataSource = xmldoc.DataSet
                GridView1.DataMember = xmldoc.DataSet.Tables(0).TableName
    
                GridView1.DataBind()
    
                Session("pubs") = xmldoc.DataSet.Tables(0)
    
            Catch ex As Exception
                strOutput = "Impossible d'accéder au fichier XML" & "<br />" & ex.Message.ToString
            End Try
    
            output.Text = strOutput
        End Sub
    
        Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
            GridView1.SelectedIndex = -1
        End Sub
    
        Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
            Select Case e.CommandName
                Case "Select", "Edit"
                    For Each t As String In Tab
                        Select Case t
                            Case "photo"
                                Dim Photo As String = CType(GridView1.Rows(e.CommandArgument.ToString).FindControl(t & "LabelGV"), Label).Text
                                CType(Panel1.FindControl(t & "Image"), Image).ImageUrl = "~/Photo/" & Photo
                                CType(Panel1.FindControl(t & "Image"), Image).AlternateText = "~/Photo/" & Photo
                                For i As Integer = 0 To ddl.Items.Count - 1
                                    If ddl.Items(i).Text = Photo Then
                                        ddl.SelectedIndex = i
                                        Exit For
                                    End If
                                Next
                            Case "prixbase", "prixpromo"
                                CType(Panel1.FindControl(t & "Label"), Label).Text = CType(GridView1.Rows(e.CommandArgument.ToString).FindControl(t & "LabelGV"), Label).Text & " ¤"
                                CType(Panel2.FindControl(t & "Tb"), TextBox).Text = CType(GridView1.Rows(e.CommandArgument.ToString).FindControl(t & "LabelGV"), Label).Text
                            Case Else
                                CType(Panel1.FindControl(t & "Label"), Label).Text = CType(GridView1.Rows(e.CommandArgument.ToString).FindControl(t & "LabelGV"), Label).Text
                                CType(Panel2.FindControl(t & "Tb"), TextBox).Text = CType(GridView1.Rows(e.CommandArgument.ToString).FindControl(t & "LabelGV"), Label).Text
                        End Select
                    Next
                    If e.CommandName = "Edit" Then
                        modeLabel.Text = "Modification"
                        hfIdRow.Value = e.CommandArgument
                    End If
                    CType(UpdatePanel1.FindControl("mpePanel" & e.CommandName), AjaxControlToolkit.ModalPopupExtender).Show()
                Case "Delete"
                    ActionOnXML(e.CommandName, e.CommandArgument.ToString)
                Case Else
                    ActionOnXML(e.CommandName, e.CommandArgument.ToString)
            End Select
        End Sub
    
        Protected Sub ActionOnXML(ByVal mode As String, Optional ByVal idOfArticle As Integer = -1)
            Dim dt As New Data.DataTable
            dt = Session("pubs")
    
            Select Case mode
                Case "Add", "Ajout"
                    Dim nr As Data.DataRow = dt.NewRow
                    dt.Rows.Add(AddModifArticle(nr))
                Case "Edit", "Modification"
                    Dim cr As Data.DataRow = dt.Rows(idOfArticle)
                    AddModifArticle(cr)
                Case "Delete"
                    dt.Rows(idOfArticle).Delete()
                    log.Text += Date.Now.ToString & " : Nombre de DataRow = " & dt.Rows.Count & "<br />"
                    log.Text += "ActionOnXML : " & mode & " (" & idOfArticle & ")<br /><br />"
            End Select
    
            GridView1.DataSource = dt
            GridView1.DataBind()
        End Sub
    
        Private Function AddModifArticle(ByVal dr As Data.DataRow) As Data.DataRow
            For Each t As String In Tab
                Select Case t
                    Case "photo"
                        dr(t) = ddl.SelectedItem.Text
                    Case Else
                        dr(t) = CType(Panel2.FindControl(t & "Tb"), TextBox).Text
                End Select
            Next
            Return dr
        End Function
    
        Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
            e.Cancel = True
        End Sub
        Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
            e.Cancel = True
        End Sub
    
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bRec.Click
            Dim dt As Data.DataTable = Session("pubs")
            dt.DataSet.WriteXml(PathOfXML)
        End Sub
    
        Protected Sub GridView1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.PreRender
            output.Text = GridView1.Rows.Count & " articles trouvés."
        End Sub
    
        Protected Sub bValid_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bValid.Click
            ActionOnXML(modeLabel.Text, hfIdRow.Value)
        End Sub
    
        Protected Sub lbAddPub_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbAddPub.Click
            For Each t As String In Tab
                Select Case t
                    Case "photo"
                        ddl.SelectedIndex = 0
                    Case Else
                        CType(Panel2.FindControl(t & "Tb"), TextBox).Text = ""
                End Select
            Next
            modeLabel.Text = "Ajout"
            mpePanelEdit.Show
        End Sub
    End Class
    


  • Cette discussion est classée dans : text, end, case, gridview1, byval


    Répondre à ce message

    Sujets en rapport avec ce message

    LOGIN.ASPX [ par LOUTTY ] Je ne comprends pas pourquoi ca ne fonctionne pas en fait il refuse systématiquement de m'authentifier meme avec le bon mot de passelogin.aspx<%@ Impo débutant en asp.net - pb navigation dans dataview [ par bdl20042000 ] Bonjour, je débute en asp.net. Je souhaite avoir les mêmes facilités de navigation que avec un recordset sous VB. Aussi après avoir regarder un peu le [vb][xml] [ par keliante ] Bonjour à tous, Mon problème est que mon code vb ne lit pas correctement ma bdd de mon fichier xml. Il ne trouve pas les nœuds sauf un root. Alors v A l'aide svp Pb access ASP.NET [ par ninipe ] Salut,je voudrais suprimer une ligne sur un base de donnée accessla base contient ( Nom ; Genre ; ID ).Je cherche à gerer cette base sans utiliser ODB Apres selection d'une ligne effacer le gridview [ par lg022 ] Bonjour a tousj'ai fias quelques recherches sur ce suejt et je n'ai rien trouvéj'ai une textbox ou l'utilisateur entre ses initiales exemple DDlorsqu' postbackurl et paging [ par casa51 ] probleme de CASE sous sql (base de données sql server) [ par niek ] bijour a tous!!je suis en train de retoucher des procédures stockées en sql, et g un prob de CASE. j en ai 2 imbriqués l'un ds l'autre et il y a une c demande d'aide [ par Samly ] Bonjour mes chers programmeurs en ASP.NET 2.0Je suis un étudiant en dernière année de licence en informatique de gestion, à l'université laique advent Perte d'une session anormalement [ par lucie12 ] Bonjour,J'ai un formulaire qui ajoute des données dans une base. Lorsque je clique sur le bouton ajouter, il m'insere les infos et met certaines varia Pb insertion date dans une base de données SQL Server [ par leusha ] Bonjour.        Dim todayDate As DateTime = DateTime.Now        Dim sTodayDate As String        sTodayDate = todayDate.ToString("d")        Response.W


    Nos sponsors


    Sondage...

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    Photothèque

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 0,265 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales