Reputation: 729
I'm Trying to custom format currency in datatable columns using Tostring() with VB.NET
Please Guide Me.
Thanks
Public Class Form2
Private Function GetDemoDataTable() As DataTable
Dim periodicTable As New DataTable("PeriodicTable")
periodicTable.Columns.Add("Name", GetType(String))
periodicTable.Columns.Add("Symbol", GetType(String))
periodicTable.Columns.Add("Price", GetType(Integer))
Dim dr As DataRow = periodicTable.Rows.Add()
dr(0) = "Hydrogen"
dr(1) = "H"
dr(2) = 1000
dr = periodicTable.Rows.Add()
dr(0) = "Helium"
dr(1) = "He"
dr(2) = 7000
dr = periodicTable.Rows.Add()
dr(0) = "Lithium"
dr(1) = "Li"
dr(2) = 6000
dr = periodicTable.Rows.Add()
dr(0) = "Beryllium"
dr(1) = "Be"
dr(2) = 25000
dr = periodicTable.Rows.Add()
dr(0) = "Boron"
dr(1) = "B"
dr(2) = 1500
dr = periodicTable.Rows.Add()
dr(0) = "Carbon"
dr(1) = "C"
dr(2) = 30000
Return periodicTable
End Function
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dtCloned As DataTable = GetDemoDataTable().Clone()
dtCloned.Columns(0).DataType = GetType(String)
dtCloned.Columns(1).DataType = GetType(String)
dtCloned.Columns(2).DataType = GetType(String)
For Each row As DataRow In GetDemoDataTable().Rows
dtCloned.ImportRow(row)
Next row
dtCloned.Columns("Price").Convertcolumndatatable(Function(val) Double.Parse(val.ToString()).ToString("c", CultureInfo.CreateSpecificCulture("id-ID")))
DataGridView1.DataSource = dtCloned
End Sub
End Class
Public Module extension_method <System.Runtime.CompilerServices.Extension> Public Sub Convertcolumndatatable(Of T)(ByVal column As DataColumn, ByVal conversion As Func(Of Object, T)) For Each row As DataRow In column.Table.Rows row(column) = conversion(row(column)) Next row End Sub End Module
Result From Code
Name Symbol Price
Hydrogen H Rp1.000,00
Helium He Rp7.000,00
Lithium Li Rp6.000,00
Beryllium Be Rp25.000,00
Boron B Rp1.500,00
Carbon C Rp30.000,00
Desired Result 1
Name Symbol Price
Hydrogen H Rp. 1.000
Helium He Rp. 7.000
Lithium Li Rp. 6.000
Beryllium Be Rp.25.000
Boron B Rp. 1.500
Carbon C Rp.30.000
Desired Result 2
Name Symbol Price
Hydrogen H Rp. 1,000
Helium He Rp. 7,000
Lithium Li Rp. 6,000
Beryllium Be Rp.25,000
Boron B Rp. 1,500
Carbon C Rp.30,000
Upvotes: 0
Views: 24