Databinding formatted dates on a tab control

G

Guest

I'm binding date fields from entity objects and formatting the output in the
text box in short date format.

Code:

BindDateField(Me.txtCheckIn, "Text", reservation.BookingDetail, "CheckIn")
BindDateField(Me.txtCustTravleDate, "Text", reservation.BookingDetail,
"CheckIn")
BindDateField(Me.txtCheckOut, "Text", reservation.BookingDetail, "CheckOut")



Code:

Public Sub BindDateField(ByVal control As Control, ByVal propertyName As
String, ByVal dataSource As Object, ByVal dataMember As String)

For index = control.DataBindings.Count - 1 To 0 Step -1
dbd = control.DataBindings.Item(index)
If dbd.PropertyName = propertyName Then
control.DataBindings.Remove(dbd)
End If
Next
dbd = New Binding(propertyName, dataSource, dataMember)
control.DataBindings.Add(dbd)

End Sub

Private Sub oBinding_Format(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs) Handles dbd.Format

e.Value = Format(e.Value, "D")

End Sub



When I run the app. the dates in the textboxes are formatted correctly,
however the textboxes are on a tab control and when I click onto a different
tab and then back all the dates show in the format 01/01/2005 00:00:00.

Any ideas?
 
P

Peter Huang [MSFT]

Hi

Based on my test, it seems that I can not reproduce the problem.
I binding the textbox to Table, the binding code is as follows.

Public Class Form1
Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()
MyBase.New()

'This call is required by the Windows Form Designer.
InitializeComponent()

'Add any initialization after the InitializeComponent() call

End Sub

'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
Friend WithEvents SqlDataAdapter1 As
System.Data.SqlClient.SqlDataAdapter
Friend WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand
Friend WithEvents SqlInsertCommand1 As System.Data.SqlClient.SqlCommand
Friend WithEvents SqlUpdateCommand1 As System.Data.SqlClient.SqlCommand
Friend WithEvents SqlDeleteCommand1 As System.Data.SqlClient.SqlCommand
Friend WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection
Friend WithEvents DataSet11 As TestBinding.DataSet1
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
Me.TabControl1 = New System.Windows.Forms.TabControl
Me.TabPage1 = New System.Windows.Forms.TabPage
Me.TabPage2 = New System.Windows.Forms.TabPage
Me.TextBox1 = New System.Windows.Forms.TextBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter
Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand
Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand
Me.SqlUpdateCommand1 = New System.Data.SqlClient.SqlCommand
Me.SqlDeleteCommand1 = New System.Data.SqlClient.SqlCommand
Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection
Me.DataSet11 = New TestBinding.DataSet1
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.TabPage2.SuspendLayout()
CType(Me.DataSet11,
System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TabControl1
'
Me.TabControl1.Controls.Add(Me.TabPage1)
Me.TabControl1.Controls.Add(Me.TabPage2)
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.TabControl1.Location = New System.Drawing.Point(0, 0)
Me.TabControl1.Name = "TabControl1"
Me.TabControl1.SelectedIndex = 0
Me.TabControl1.Size = New System.Drawing.Size(292, 266)
Me.TabControl1.TabIndex = 0
'
'TabPage1
'
Me.TabPage1.Controls.Add(Me.TextBox1)
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Size = New System.Drawing.Size(284, 240)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "TabPage1"
'
'TabPage2
'
Me.TabPage2.Controls.Add(Me.TextBox2)
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
Me.TabPage2.Name = "TabPage2"
Me.TabPage2.Size = New System.Drawing.Size(284, 240)
Me.TabPage2.TabIndex = 1
Me.TabPage2.Text = "TabPage2"
'
'TextBox1
'
Me.TextBox1.DataBindings.Add(New
System.Windows.Forms.Binding("Text", Me.DataSet11, "Orders.ShippedDate"))
Me.TextBox1.Location = New System.Drawing.Point(88, 80)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.TabIndex = 0
Me.TextBox1.Text = "TextBox1"
'
'TextBox2
'
Me.TextBox2.DataBindings.Add(New
System.Windows.Forms.Binding("Text", Me.DataSet11, "Orders.ShippedDate"))
Me.TextBox2.Location = New System.Drawing.Point(88, 96)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.TabIndex = 0
Me.TextBox2.Text = "TextBox2"
'
'SqlDataAdapter1
'
Me.SqlDataAdapter1.DeleteCommand = Me.SqlDeleteCommand1
Me.SqlDataAdapter1.InsertCommand = Me.SqlInsertCommand1
Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1
Me.SqlDataAdapter1.TableMappings.AddRange(New
System.Data.Common.DataTableMapping() {New
System.Data.Common.DataTableMapping("Table", "Orders", New
System.Data.Common.DataColumnMapping() {New
System.Data.Common.DataColumnMapping("OrderID", "OrderID"), New
System.Data.Common.DataColumnMapping("CustomerID", "CustomerID"), New
System.Data.Common.DataColumnMapping("EmployeeID", "EmployeeID"), New
System.Data.Common.DataColumnMapping("OrderDate", "OrderDate"), New
System.Data.Common.DataColumnMapping("RequiredDate", "RequiredDate"), New
System.Data.Common.DataColumnMapping("ShippedDate", "ShippedDate"), New
System.Data.Common.DataColumnMapping("ShipVia", "ShipVia"), New
System.Data.Common.DataColumnMapping("Freight", "Freight"), New
System.Data.Common.DataColumnMapping("ShipName", "ShipName"), New
System.Data.Common.DataColumnMapping("ShipAddress", "ShipAddress"), New
System.Data.Common.DataColumnMapping("ShipCity", "ShipCity"), New
System.Data.Common.DataColumnMapping("ShipRegion", "ShipRegion"), New
System.Data.Common.DataColumnMapping("ShipPostalCode", "ShipPostalCode"),
New System.Data.Common.DataColumnMapping("ShipCountry", "ShipCountry")})})
Me.SqlDataAdapter1.UpdateCommand = Me.SqlUpdateCommand1
'
'SqlSelectCommand1
'
Me.SqlSelectCommand1.CommandText = "SELECT OrderID, CustomerID,
EmployeeID, OrderDate, RequiredDate, ShippedDate, Shi" & _
"pVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion,
ShipPostalCode, Ship" & _
"Country FROM Orders"
Me.SqlSelectCommand1.Connection = Me.SqlConnection1
'
'SqlInsertCommand1
'
Me.SqlInsertCommand1.CommandText = "INSERT INTO Orders(CustomerID,
EmployeeID, OrderDate, RequiredDate, ShippedDate, " & _
"ShipVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion,
ShipPostalCode, S" & _
"hipCountry) VALUES (@CustomerID, @EmployeeID, @OrderDate,
@RequiredDate, @Shippe" & _
"dDate, @ShipVia, @Freight, @ShipName, @ShipAddress, @ShipCity,
@ShipRegion, @shi" & _
"pPostalCode, @ShipCountry); SELECT OrderID, CustomerID,
EmployeeID, OrderDate, R" & _
"equiredDate, ShippedDate, ShipVia, Freight, ShipName, ShipAddress,
ShipCity, Shi" & _
"pRegion, ShipPostalCode, ShipCountry FROM Orders WHERE (OrderID =
@@IDENTITY)"
Me.SqlInsertCommand1.Connection = Me.SqlConnection1
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@CustomerID",
System.Data.SqlDbType.NVarChar, 5, "CustomerID"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@EmployeeID",
System.Data.SqlDbType.Int, 4, "EmployeeID"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@OrderDate",
System.Data.SqlDbType.DateTime, 8, "OrderDate"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@RequiredDate",
System.Data.SqlDbType.DateTime, 8, "RequiredDate"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShippedDate",
System.Data.SqlDbType.DateTime, 8, "ShippedDate"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipVia", System.Data.SqlDbType.Int,
4, "ShipVia"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Freight", System.Data.SqlDbType.Money,
8, "Freight"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipName",
System.Data.SqlDbType.NVarChar, 40, "ShipName"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipAddress",
System.Data.SqlDbType.NVarChar, 60, "ShipAddress"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipCity",
System.Data.SqlDbType.NVarChar, 15, "ShipCity"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipRegion",
System.Data.SqlDbType.NVarChar, 15, "ShipRegion"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipPostalCode",
System.Data.SqlDbType.NVarChar, 10, "ShipPostalCode"))
Me.SqlInsertCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipCountry",
System.Data.SqlDbType.NVarChar, 15, "ShipCountry"))
'
'SqlUpdateCommand1
'
Me.SqlUpdateCommand1.CommandText = "UPDATE Orders SET CustomerID =
@CustomerID, EmployeeID = @EmployeeID, OrderDate =" & _
" @OrderDate, RequiredDate = @RequiredDate, ShippedDate =
@ShippedDate, ShipVia =" & _
" @ShipVia, Freight = @Freight, ShipName = @ShipName, ShipAddress =
@ShipAddress," & _
" ShipCity = @ShipCity, ShipRegion = @ShipRegion, ShipPostalCode =
@ShipPostalCod" & _
"e, ShipCountry = @ShipCountry WHERE (OrderID = @Original_OrderID)
AND (CustomerI" & _
"D = @Original_CustomerID OR @Original_CustomerID IS NULL AND
CustomerID IS NULL)" & _
" AND (EmployeeID = @Original_EmployeeID OR @Original_EmployeeID IS
NULL AND Empl" & _
"oyeeID IS NULL) AND (Freight = @Original_Freight OR
@Original_Freight IS NULL AN" & _
"D Freight IS NULL) AND (OrderDate = @Original_OrderDate OR
@Original_OrderDate I" & _
"S NULL AND OrderDate IS NULL) AND (RequiredDate =
@Original_RequiredDate OR @Ori" & _
"ginal_RequiredDate IS NULL AND RequiredDate IS NULL) AND
(ShipAddress = @Origina" & _
"l_ShipAddress OR @Original_ShipAddress IS NULL AND ShipAddress IS
NULL) AND (Shi" & _
"pCity = @Original_ShipCity OR @Original_ShipCity IS NULL AND
ShipCity IS NULL) A" & _
"ND (ShipCountry = @Original_ShipCountry OR @Original_ShipCountry
IS NULL AND Shi" & _
"pCountry IS NULL) AND (ShipName = @Original_ShipName OR
@Original_ShipName IS NU" & _
"LL AND ShipName IS NULL) AND (ShipPostalCode =
@Original_ShipPostalCode OR @Orig" & _
"inal_ShipPostalCode IS NULL AND ShipPostalCode IS NULL) AND
(ShipRegion = @Origi" & _
"nal_ShipRegion OR @Original_ShipRegion IS NULL AND ShipRegion IS
NULL) AND (Ship" & _
"Via = @Original_ShipVia OR @Original_ShipVia IS NULL AND ShipVia
IS NULL) AND (S" & _
"hippedDate = @Original_ShippedDate OR @Original_ShippedDate IS
NULL AND ShippedD" & _
"ate IS NULL); SELECT OrderID, CustomerID, EmployeeID, OrderDate,
RequiredDate, S" & _
"hippedDate, ShipVia, Freight, ShipName, ShipAddress, ShipCity,
ShipRegion, ShipP" & _
"ostalCode, ShipCountry FROM Orders WHERE (OrderID = @OrderID)"
Me.SqlUpdateCommand1.Connection = Me.SqlConnection1
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@CustomerID",
System.Data.SqlDbType.NVarChar, 5, "CustomerID"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@EmployeeID",
System.Data.SqlDbType.Int, 4, "EmployeeID"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@OrderDate",
System.Data.SqlDbType.DateTime, 8, "OrderDate"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@RequiredDate",
System.Data.SqlDbType.DateTime, 8, "RequiredDate"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShippedDate",
System.Data.SqlDbType.DateTime, 8, "ShippedDate"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipVia", System.Data.SqlDbType.Int,
4, "ShipVia"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Freight", System.Data.SqlDbType.Money,
8, "Freight"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipName",
System.Data.SqlDbType.NVarChar, 40, "ShipName"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipAddress",
System.Data.SqlDbType.NVarChar, 60, "ShipAddress"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipCity",
System.Data.SqlDbType.NVarChar, 15, "ShipCity"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipRegion",
System.Data.SqlDbType.NVarChar, 15, "ShipRegion"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipPostalCode",
System.Data.SqlDbType.NVarChar, 10, "ShipPostalCode"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@ShipCountry",
System.Data.SqlDbType.NVarChar, 15, "ShipCountry"))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_OrderID",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "OrderID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_CustomerID",
System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "CustomerID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_EmployeeID",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "EmployeeID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_Freight",
System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "Freight",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_OrderDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "OrderDate",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_RequiredDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "RequiredDate",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipAddress",
System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipAddress",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipCity",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipCity",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipCountry",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipCountry",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipName",
System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipName",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipPostalCode",
System.Data.SqlDbType.NVarChar, 10, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipPostalCode",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipRegion",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipRegion",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipVia",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "ShipVia",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShippedDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShippedDate",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@OrderID", System.Data.SqlDbType.Int,
4, "OrderID"))
'
'SqlDeleteCommand1
'
Me.SqlDeleteCommand1.CommandText = "DELETE FROM Orders WHERE
(OrderID = @Original_OrderID) AND (CustomerID = @Origina" & _
"l_CustomerID OR @Original_CustomerID IS NULL AND CustomerID IS
NULL) AND (Employ" & _
"eeID = @Original_EmployeeID OR @Original_EmployeeID IS NULL AND
EmployeeID IS NU" & _
"LL) AND (Freight = @Original_Freight OR @Original_Freight IS NULL
AND Freight IS" & _
" NULL) AND (OrderDate = @Original_OrderDate OR @Original_OrderDate
IS NULL AND O" & _
"rderDate IS NULL) AND (RequiredDate = @Original_RequiredDate OR
@Original_Requir" & _
"edDate IS NULL AND RequiredDate IS NULL) AND (ShipAddress =
@Original_ShipAddres" & _
"s OR @Original_ShipAddress IS NULL AND ShipAddress IS NULL) AND
(ShipCity = @Ori" & _
"ginal_ShipCity OR @Original_ShipCity IS NULL AND ShipCity IS NULL)
AND (ShipCoun" & _
"try = @Original_ShipCountry OR @Original_ShipCountry IS NULL AND
ShipCountry IS " & _
"NULL) AND (ShipName = @Original_ShipName OR @Original_ShipName IS
NULL AND ShipN" & _
"ame IS NULL) AND (ShipPostalCode = @Original_ShipPostalCode OR
@Original_ShipPos" & _
"talCode IS NULL AND ShipPostalCode IS NULL) AND (ShipRegion =
@Original_ShipRegi" & _
"on OR @Original_ShipRegion IS NULL AND ShipRegion IS NULL) AND
(ShipVia = @Origi" & _
"nal_ShipVia OR @Original_ShipVia IS NULL AND ShipVia IS NULL) AND
(ShippedDate =" & _
" @Original_ShippedDate OR @Original_ShippedDate IS NULL AND
ShippedDate IS NULL)" & _
""
Me.SqlDeleteCommand1.Connection = Me.SqlConnection1
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_OrderID",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "OrderID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_CustomerID",
System.Data.SqlDbType.NVarChar, 5, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "CustomerID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_EmployeeID",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "EmployeeID",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_Freight",
System.Data.SqlDbType.Money, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "Freight",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_OrderDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "OrderDate",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_RequiredDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "RequiredDate",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipAddress",
System.Data.SqlDbType.NVarChar, 60, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipAddress",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipCity",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipCity",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipCountry",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipCountry",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipName",
System.Data.SqlDbType.NVarChar, 40, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipName",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipPostalCode",
System.Data.SqlDbType.NVarChar, 10, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipPostalCode",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipRegion",
System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShipRegion",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShipVia",
System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False,
CType(0, Byte), CType(0, Byte), "ShipVia",
System.Data.DataRowVersion.Original, Nothing))
Me.SqlDeleteCommand1.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@Original_ShippedDate",
System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input,
False, CType(0, Byte), CType(0, Byte), "ShippedDate",
System.Data.DataRowVersion.Original, Nothing))
'
'SqlConnection1
'
Me.SqlConnection1.ConnectionString = "workstation
id=""SHA-VPHUANG-03"";packet size=4096;integrated security=SSPI;data so" & _
"urce=""sha-test-hf"";persist security info=False;initial
catalog=Northwind"
'
'DataSet11
'
Me.DataSet11.DataSetName = "DataSet1"
Me.DataSet11.Locale = New System.Globalization.CultureInfo("zh-CN")
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.TabControl1)
Me.Name = "Form1"
Me.Text = "Form1"
Me.TabControl1.ResumeLayout(False)
Me.TabPage1.ResumeLayout(False)
Me.TabPage2.ResumeLayout(False)
CType(Me.DataSet11,
System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub

#End Region

Dim WithEvents db As Binding
Dim WithEvents db1 As Binding
Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Load
db = Me.TextBox1.DataBindings(0)
db1 = Me.TextBox2.DataBindings(0)
Me.SqlDataAdapter1.Fill(Me.DataSet11)
End Sub

Private Sub db_Format(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs) Handles db.Format
e.Value = Format(e.Value, "D")
End Sub

Private Sub db1_Format(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs) Handles db1.Format
e.Value = Format(e.Value, "d")
End Sub
End Class


Best regards,

Peter Huang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bart Mermuys

Hi,

funkyMonkey said:
I'm binding date fields from entity objects and formatting the output in
the
text box in short date format.

Code:

BindDateField(Me.txtCheckIn, "Text", reservation.BookingDetail, "CheckIn")
BindDateField(Me.txtCustTravleDate, "Text", reservation.BookingDetail,
"CheckIn")
BindDateField(Me.txtCheckOut, "Text", reservation.BookingDetail,
"CheckOut")



Code:

Public Sub BindDateField(ByVal control As Control, ByVal propertyName As
String, ByVal dataSource As Object, ByVal dataMember As String)

For index = control.DataBindings.Count - 1 To 0 Step -1
dbd = control.DataBindings.Item(index)
If dbd.PropertyName = propertyName Then
control.DataBindings.Remove(dbd)
End If
Next
dbd = New Binding(propertyName, dataSource, dataMember)
control.DataBindings.Add(dbd)

End Sub

Private Sub oBinding_Format(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs) Handles dbd.Format

e.Value = Format(e.Value, "D")

End Sub

If you use a WithEvents dbd field then you would need one foreach Binding.
Like it is now, at the best all initial formatting works but after that then
only the last binding can work.

Instead of using a WithEvents field you should use AddHandler to add
eventhandlers and RemoveHandler to remove them:

Public Sub BindDateField( ByVal control As Control, ByVal propertyName As
String, ByVal dataSource As Object, ByVal dataMember As String)
Dim bnd As Binding

' remove possible binding
bnd = control.DataBindings("Text")
If (Not bnd Is Nothing) Then
RemoveHandler bnd.Format, AddressOf FormatDt
control.DataBindings.Remove(bnd)
End If

' add binding
bnd = New Binding("Text", dataSource, dataMember)
AddHandler bnd.Format, AddressOf FormatDt
control.DataBindings.Add(bnd)
End Sub

Private Sub FormatDt(ByVal sender As Object, ByVal e As
System.Windows.Forms.ConvertEventArgs)
e.Value = Format(e.Value, "D")
End Sub

hth,
greetings
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top