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 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
|
Partial Class Module_Meet_ListeMembre
Inherits System.Web.UI.UserControl
Private _Deco As String
Private _IdListeMembre As Int16
Private gvListe As New GridView
Private dtGeneralite As DataTable
Public Property Deco() As String
Get
Return _Deco
End Get
Set(ByVal value As String)
_Deco = value
End Set
End Property
Public Property IdListeMembre() As Int16
Get
Return _IdListeMembre
End Get
Set(ByVal value As Int16)
_IdListeMembre = value
End Set
End Property
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
AppliquerDeco(Deco, tblCentral)
dtGeneralite = New DManager("DataDev").RetournerTable("EXEC MEET_ListeMembreGeneralite '" & Session("SES_ApplicationStr") & "'," & IdListeMembre)
Dim sdsListe As New SqlDataSource
tblMilieuCentre.Controls.Add(sdsListe)
tblMilieuCentre.Controls.Add(gvListe)
AddHandler gvListe.SelectedIndexChanged, AddressOf RowClicked
With sdsListe
.ID = "sdsListe"
.SelectCommand = "EXEC MEET_ListeMembreData '" & Session("SES_ApplicationStr") & "'"
.ConnectionString = ConfigurationManager.ConnectionStrings("DataDev").ConnectionString
End With
With gvListe
Dim keys As New System.Collections.Generic.List(Of String)
keys.Add(dtGeneralite.Rows(0).Item("DataKey"))
.DataKeyNames = keys.ToArray()
.DataSourceID = "sdsListe"
.AutoGenerateColumns = False
.Width = Unit.Percentage(100)
If dtGeneralite.Rows(0).Item("Pager") = 1 Then
.AllowPaging = True
.PageSize = dtGeneralite.Rows(0).Item("NbPage")
With .PagerSettings
.Mode = PagerButtons.NextPreviousFirstLast
.FirstPageText = "Première"
.LastPageText = "Dernière"
.NextPageText = "Suivante"
.PreviousPageText = "Précédente"
End With
Else
.AllowPaging = False
End If
.DataBind()
End With
AjouterColone(gvListe)
End Sub
Sub AjouterColone(ByVal gv As GridView)
Dim dtDefColone As DataTable = New DManager("DataDev").RetournerTable("EXEC MEET_ListeMembreDefColone " & IdListeMembre)
For Each dr As DataRow In dtDefColone.Rows
Select Case dr.Item("TypeColone")
Case "Text"
Dim bf As New BoundField
With bf
.HeaderText = dr.Item("NomColone")
.DataField = dr.Item("DataColone")
End With
gv.Columns.Add(bf)
Case "Image"
Dim imf As New ImageField
With imf
.HeaderText = dr.Item("NomColone")
.DataImageUrlFormatString = RetournerUrlPhotoMembre(dr.Item("DataColone"), 1)
.ItemStyle.Width = Unit.Pixel(dr.Item("ParamNum1"))
End With
gv.Columns.Add(imf)
Case Else
Dim bf As New BoundField
With bf
.HeaderText = ""
.ItemStyle.Width = Unit.Pixel(0)
End With
gv.Columns.Add(bf)
End Select
Next
End Sub
Function RetournerUrlPhotoMembre(ByVal UserIdPhoto As String, ByVal NumPhoto As Int16) As String
Dim BaseChemin As String = "/App_Themes/" & Session("SES_Nomsite") & "/PhotoMembre/"
Dim PhotoChemin As String = UserIdPhoto & "ph" & NumPhoto & ".jpg"
If File.Exists(BaseChemin & PhotoChemin) Then
Return BaseChemin & PhotoChemin
Else
Return BaseChemin & "NoPhoto.jpg"
End If
End Function
Sub RowClicked(ByVal sender As Object, ByVal e As System.EventArgs)
Dim gv As GridView = sender
Response.Redirect(GetPage(dtGeneralite.Rows(0).Item("PageDestination"), enTypeRetour.Lien) & "&iduser=" & gv.DataKeys(0).Value.ToString)
End Sub
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
For Each r As GridViewRow In gvListe.Rows
If r.RowType = DataControlRowType.DataRow Then
r.Attributes("OnClick") = Me.Page.ClientScript.GetPostBackEventReference(gvListe, "Select$" & r.RowIndex, True)
r.Style("cursor") = "hand"
End If
Next
MyBase.Render(writer)
End Sub
End Class |
Partager