Imports DotNetNuke.Services.Localization
Private Sub myBase_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
If Not Me.IsPostBack Then
For Each column As DataGridColumn In grdPages.Columns
If column.GetType Is GetType(ImageCommandColumn) Then
Dim imageColumn As ImageCommandColumn = CType(column, ImageCommandColumn)
' Localize les colonnes d'images
If imageColumn.CommandName <> "" Then
imageColumn.Text = ""
imageColumn.Text = Localization.GetString(imageColumn.CommandName, Me.LocalResourceFile)
End If
' Gère la confirmation de suppression
If imageColumn.CommandName = "Delete" Then
imageColumn.OnClickJS = Localization.GetString("DeleteItem")
End If
Else
If column.GetType Is GetType(BoundColumn) Then
Dim boundColumn As BoundColumn = CType(column, BoundColumn)
' Localize les headers
If boundColumn.HeaderText <> "" Then
If boundColumn.HeaderText.Contains(".Text") OrElse boundColumn.HeaderText.Contains(".Header") Then ' Trick ajouté pour contrecarer la double localization lors d'un postBack.
boundColumn.HeaderText = Localization.GetString(boundColumn.HeaderText.Replace(".Text", "").Replace(".Header", ""), Me.LocalResourceFile)
End If
End If
End If
End If
Next
End If
End Sub
Bon là le code est adapté à un DataGrid, mais ça ne devrait pas être trop dur de le paser vers un gridview. Ce code va faire deux cas, les images, et les header. On peut ajouter d'autres cas.
Je suis sûr qu'on peut trouver mieux, mais voici ce que j'ai.
Seb