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
Class
Public
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
If
End
Sub
Or 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.