The date time scroller component is an alternative way to input a date, a time or both using the DATETIMESCROLLER_TYPE_TIME, DATETIMESCROLLER_TYPE_DATE and DATETIMESCROLLER_TYPE_DATETIME constants.
Setting the dtsMode param to one of the constants DATETIMESCROLLER_MODE_SCROLLER, DATETIMESCROLLER_MODE_CLICKPICK and DATETIMESCROLLER_MODE_MIXED, you can modify the look and feel even further.
Dim mydate As ABMDateTimeScroller Dim NewDate As Long = DateTime.Now mydate.Initialize(page, "mydate", ABM.DATETIMESCROLLER_TYPE_DATETIME, ABM.DATETIMESCROLLER_MODE_MIXED, NewDate, "Pick a date and a time", "") mydate.DateDayNames = "['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']" mydate.DateMonthNamesShort = "['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']" mydate.TitleDateFormat = "DDD" mydate.ReturnDateFormat = "mm/dd/yy" // <--- see demo source code for settings mydate.TitleTimeFormat = "" // <--- see demo source code for settings mydate.ReturnTimeFormat = "HH:ii" // <--- see demo source code for settings mydate.DateOrder = "Mddyy" // <--- see demo source code for settings mydate.TimeShowAMPM = False mydate.CancelText = "Close" mydate.PickText = "OK" page.CellR(1,1).AddComponent(mydate)
When changed, an event will be raised: YourComp_Changed(dataMilliseconds as String). The param is a string but can easily be converted to a long and a date.
Sub mydate_Changed(dateMilliseconds As String) // convert to a B4J date Dim BackDate As Long = dateMilliseconds DateTime.DateFormat = "MM/dd/yyyy" DateTime.TimeFormat = "HH:mm" myToastId = myToastId + 1 page.ShowToast("toast" & myToastId, "toastred", "Date/time: " & DateTime.Date(BackDate) & " " & DateTime.Time(BackDate), 5000) End Sub
You can also set or get the components date/time using SetDate(date as long) and GetDate() as long methods.