This sample is made in true North-Atlantic cooperation.
It shows how to
get a currency-sign based on a country in a DataGridView.
It needs the SQL Northwind sample database and
a a project with a
DataGridView on a Form.
To test it, you need only to click Debug.
Untitled 9
Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet
Using conn As New SqlConnection _
("Server = YourServer;Database = NorthWind; Integrated Security = SSPI;")
Dim da As New SqlDataAdapter("Select * from [Order Details]", conn)
da.Fill(ds, "Orderdetails")
da = New SqlDataAdapter("Select OrderId, ShipCountry from Orders", conn)
da.Fill(ds, "Orders")
ds.Relations.Add("TheRelation", ds.Tables("Orders").Columns("OrderId"), _
ds.Tables("Orderdetails").Columns("OrderId"))
ds.Tables("Orderdetails").Columns.Add("ShipCountry", _
GetType(String), "Parent.ShipCountry")
ds.Tables("Orderdetails").DefaultView.RowFilter = _
"ShipCountry = 'USA' OR ShipCountry = 'UK' OR ShipCountry = 'Belgium' OR " & _
"ShipCountry = 'Poland' Or ShipCountry = 'Ireland'"
DataGridView1.DataSource = ds.Tables("Orderdetails").DefaultView
DataGridView1.Columns.Remove("ProductID")
End Using
End Sub
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
Handles DataGridView1.CellFormatting
Dim dv As DataView = DirectCast(DataGridView1.DataSource, DataView)
Dim ci As System.Globalization.CultureInfo
If e.ColumnIndex = 1 Then
Select Case dv(e.RowIndex)("ShipCountry").ToString
Case "USA"
ci = New System.Globalization.CultureInfo("en-US")
Case "UK"
ci = New System.Globalization.CultureInfo("en-GB")
Case "Poland"
ci = New System.Globalization.CultureInfo("pl-PL")
Case "Ireland"
ci = New System.Globalization.CultureInfo("en-IE")
Case Else
ci = New System.Globalization.CultureInfo("nl-NL")
End Select
Dim cValue As Decimal = Convert.ToDecimal(e.Value)
e.Value = cValue.ToString("c", ci)
End If
End Sub
End Class