﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » Updates and Information » StrataFrame Users Contributed Samples  » Date Range Selector user control</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Mon, 20 Apr 2026 22:30:07 GMT</lastBuildDate><ttl>20</ttl><item><title>Date Range Selector user control</title><link>http://forum.strataframe.net/FindPost30636.aspx</link><description>Hi All,&lt;br/&gt;&lt;br/&gt;I am very exited with recent announcement of the StrataFrame Team for the &lt;a href="http://www.strataframe.net/RoadmapFor2012.aspx"&gt;2012 Roadmap&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt; so with that in mind&amp;nbsp; I would like to share with the community my first ever workable &lt;span&gt;:D&lt;/span&gt;&lt;span&gt; user control, it is a VB.&lt;br/&gt;&lt;br/&gt;This DateRangeSelector user controls allows you to select a pre-defined date periods like Today, This Week-To-Date, This Year, Last Year and many more as well as a Custom Date that will allow the end user to select Start and End dates.&lt;br/&gt;&lt;br/&gt;Useful features:&lt;br/&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Selected date will used StrataFrame functionality to store that selection in the Registry if the Form's RegistryRepositoryKey is filled.&lt;/li&gt;&lt;li&gt;Public properties to pre-select a date range or each Start and End date values.&amp;nbsp; Look at the "+Progytech: Actions" group in the property sheet.&lt;/li&gt;&lt;li&gt;A SelectedValueChanged event is triggered whenever the date range period has changed.&amp;nbsp; Use this event to fill your BOs or requery your listviews.&lt;/li&gt;&lt;li&gt;The StrataFrame custom error provider is used to validate that the date range is good before passing the values to any method.&lt;/li&gt;&lt;li&gt;Internally we are expecting the based class used as MicroFour.StrataFrame.UI.Windows.Forms.&lt;span style="color:#2b91af;"&gt;StandardForm&lt;/span&gt; but feel free to use your own base class.&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;For learning purpose, I tried to keep this sample project as simple as possible, but in the bizOrders.vb business object I am using a Custom Field Property to show the Customer Name and this field is filled from the FillByDateRange() method in this BO which uses a SQL Query with a JOIN condition to grab the Customer Name as cfp_CustomerName and take advantage of StrataFrame Custom Field Properties functinality.&lt;br/&gt;&lt;br/&gt;I hope this sample can be useful to the community and please, feel free to exchange your comments, suggestions and any enhancements to make this User Control better.&lt;br/&gt;&lt;br/&gt;Enjoy!!!&lt;br/&gt;&lt;br/&gt;&lt;img src="http://forum.strataframe.net/Uploads/Images/40f839b9-310e-421f-b191-4ec1.png" alt="http://forum.strataframe.net/Uploads/Images/40f839b9-310e-421f-b191-4ec1.png" /&gt;</description><pubDate>Sat, 19 Nov 2011 11:57:52 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Date Range Selector user control</title><link>http://forum.strataframe.net/FindPost30643.aspx</link><description>Life to Date would be everything from the past till today.&lt;br/&gt;&lt;br/&gt;Life to Future would be everything from the past till everything in the future. So, everything. &lt;span&gt;:D&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;And Today to Future, of course, from Today onwards.</description><pubDate>Sat, 19 Nov 2011 11:57:52 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item><item><title>RE: Date Range Selector user control</title><link>http://forum.strataframe.net/FindPost30642.aspx</link><description>Thanks Ivan, Russell,&lt;br/&gt;&lt;br/&gt;Ivan, about your Enum, there are some like LifeToDate which I don't quite understand, but i believe these are specific to your application, right?&lt;br/&gt;For now I just implemented the ones I needed so the end user would not be overwhelm with options not applicable to the application.</description><pubDate>Sat, 19 Nov 2011 10:23:22 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: Date Range Selector user control</title><link>http://forum.strataframe.net/FindPost30641.aspx</link><description>Very slick and useful.&lt;br/&gt;&lt;br/&gt;Thanks Edhy!</description><pubDate>Sat, 19 Nov 2011 08:22:48 GMT</pubDate><dc:creator>Russell Scott Brown</dc:creator></item><item><title>RE: Date Range Selector user control</title><link>http://forum.strataframe.net/FindPost30637.aspx</link><description>Well done Edhy! &lt;span&gt;;)&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;Here is the Enum I populate mine with, there are some you might want to implement:&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[codesnippet]''' &amp;lt;summary&amp;gt;&lt;br/&gt;''' Pre-defined Dates Interval&lt;br/&gt;''' &amp;lt;/summary&amp;gt;&lt;br/&gt;''' &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;br/&gt;Public Enum PreDefinedPeriods As Integer&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - DefinedBelow", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DefinedBelow = 1&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - Today", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Today = 2&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LifeToDate", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LifeToDate = 3&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LifeToFuture", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LifeToFuture = 4&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - TodayToFuture", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TodayToFuture = 5&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - CurrentWeek", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentWeek = 6&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - CurrentMonth", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentMonth = 7&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - CurrentQuarter", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentQuarter = 8&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - CurrentYear", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CurrentYear = 9&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - MonthToDate", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MonthToDate = 10&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - QuarterToDate", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; QuarterToDate = 11&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - YearToDate", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; YearToDate = 12&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LastWeek", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastWeek = 13&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LastMonth", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastMonth = 14&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LastQuarter", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastQuarter = 15&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - LastYear", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastYear = 16&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - NextWeek", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NextWeek = 17&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EnumDisplayValue("PFNTEnum - NextMonth", True)&amp;gt; _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NextMonth = 18&lt;br/&gt;End Enum[/codesnippet]&lt;/span&gt;</description><pubDate>Fri, 18 Nov 2011 16:25:05 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item></channel></rss>