Hi,
I've a problem with my CellFormating.
More precisely with "FormatString" which does not work properly.
I filled my RadGridView with the help of a list.
Everything is working properly.
Here is a bit of my implementation:
Public Class Liste_DossiersVO '... Private dvo_prix_public As String '... Public Property Prix_Public() As String Get Return dvo_prix_public End Get Set(value As String) dvo_prix_public = value End Set End Property Public Sub New(..., Prix_Public As String, ...) Me.Prix_Public = Prix_Public End Sub Default Public ReadOnly Property Item(ByVal i As Integer) As Object Get Select Case i ... Case 6 ... Case Else Return [String].Empty End Select End Get End Property End ClassPublic Sub Binding_Liste_DossiersVO() Using db As New NpgsqlConnection Dim sql As NpgsqlCommand = db.CreateCommand() Try db.ConnectionString = ParamSQL db.Open() If db.State = ConnectionState.Open Then sql.Parameters.Clear() sql.CommandType = CommandType.Text sql.CommandText = "SELECT ... FROM "...;" Dim reader As IDataReader = sql.ExecuteReader() Data_GridView_VO.Clear() While reader.Read() Dim LVO As New Liste_DossiersVO(Convert.ToString(reader(0)), Convert.ToString(reader(1)), Convert.ToString(reader(2)), Convert.ToString(reader(3)), Convert.ToString(reader(4)), Convert.ToString(reader(5)), Convert.ToString(reader(6)), 'dvo_prix_public --> Prix_Public Convert.ToString(reader(7))) Data_RadGridView1.Add(LVO) End While End If db.Close() Catch ex As Exception db.Close() ErrorBox.RadTextBoxControl1.Text = ex.ToString ErrorBox.Show() End Try End Using End Sub Public Sub BindToRadGridView1() Home.GridView_VO.MasterTemplate.AllowAddNewRow = False Home.GridView_VO.MasterTemplate.AutoGenerateColumns = False Home.GridView_VO.DataSource = Nothing Home.GridView_VO.TableElement.BeginUpdate() Home.GridView_VO.MasterTemplate.Columns.Clear() '... Home.GridView_VO.MasterTemplate.Columns.Add(New GridViewDecimalColumn("PRIX PUBLIC", "Prix_Public")) For i As Integer = 0 To Home.GridView_VO.MasterTemplate.Columns.Count - 1 Home.GridView_VO.MasterTemplate.Columns(i).Width = 150 Next i Home.GridView_VO.TableElement.EndUpdate(False) Home.GridView_VO.DataSource = Data_GridView_VO End Sub
Then when I try to format the display of my 6th column with my currency format it doesn't work.
The rest works well.
For example, a color change works without problems.
Also, if I add € to "{0: C}" -> "{0: C} €" the currency sign looks good but the formatting is not the right one -> € 1,250.00
The correct form should be € 1,250.00
I tried several implementation attempts but never got the right result :
Private Sub RadGridView1_CellFormatting(ByVal sender As Object, ByVal e As Telerik.WinControls.UI.CellFormattingEventArgs) Handles RadGridView1.CellFormatting If e.CellElement.ColumnInfo.Name = "PRIX PUBLIC" Then If e.CellElement.Text <> "" Then e.CellElement.Text = String.Format(New CultureInfo("fr-FR"), "{0:C}", e.CellElement.Value) End If End IfEnd SubOr simple
Me.RadGridView1.Columns(6).FormatInfo = CultureInfo.CreateSpecificCulture("fr-FR")Me.RadGridView1.Columns(6).FormatString = "{0:C}"
Doesn't work.
Do you have any idea?
A solution ?
Thank you.
