| 12
 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
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 
 |  
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 | 
Partager