﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » WinForms (How do I?)  » BrowseDialog setting intial value</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 00:28:51 GMT</lastBuildDate><ttl>20</ttl><item><title>BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29376.aspx</link><description>Is there a way to set the intial value of a search field at runtime i.e filter a date field based on today's date using greater than or equal to?</description><pubDate>Sun, 13 Mar 2011 15:59:48 GMT</pubDate><dc:creator>Ian Johnston</dc:creator></item><item><title>RE: BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29693.aspx</link><description>You are welcome Ian.</description><pubDate>Sun, 13 Mar 2011 15:59:48 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29692.aspx</link><description>Thanks that fixed it&lt;br/&gt;&lt;br/&gt;Ian</description><pubDate>Sun, 13 Mar 2011 15:55:08 GMT</pubDate><dc:creator>Ian Johnston</dc:creator></item><item><title>RE: BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29691.aspx</link><description>Hi Ian,&lt;br/&gt;&lt;br/&gt;The error means that there is a duplicate field in the Search field collection and this is most likely to be when using a Date field for searching since we most use Greater than and Less than conditions.&lt;br/&gt;&lt;span&gt;[code]&lt;/span&gt;&lt;br/&gt;&lt;span id="ctl00_ctlContentPlaceHolder_ctl00_ctlTopic_ctlPanelBar_ctlTopicsRepeater_ctl01_lblFullMessage"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.browseDialog1.SearchFields[3].InitialValue = dateTimePickerBegin.Value.ToShortDateString();&lt;br/&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.browseDialog1.SearchFields[4].InitialValue = dateTimePickerEnd.Value.ToShortDateString();&lt;/font&gt;&lt;/span&gt;&lt;br/&gt;&lt;span&gt;[/code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;To fix this, modify the BD and in the Search Field Criteria for the Ending Date field, enter a Unique Key to make it unique.&amp;nbsp; By default SF will automatically enter the field name, but you can and must change it to a unique one in this case.&lt;br/&gt;&lt;br/&gt;Also, in general I prefer to use the Browse Dialog events to handle this situation problematically, so instead of having all the code in the button1, I would enter your code in the InitializedSerachFields events and instead of using index for the field name I would use the business object FieldNames enumeration so if in the future a field name changes at least my application will generate a compilation exception so I can fix it and also it looks better in code to see which fields are actually being initialized.&amp;nbsp; Here is a VB sample of this event:&lt;br/&gt;&lt;span&gt;[code]&lt;br/&gt;&lt;/span&gt;&lt;pre style="font-family: Consolas; font-size: 13px; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;span style="color: blue;"&gt;Private&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Sub&lt;/span&gt;&amp;nbsp;ServiceCallsBD_InitializeSearchFields(&lt;span style="color: blue;"&gt;ByVal&lt;/span&gt;&amp;nbsp;sender&amp;nbsp;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&amp;nbsp;System.&lt;span style="color: rgb(43, 145, 175);"&gt;Object&lt;/span&gt;,&amp;nbsp;&lt;span style="color: blue;"&gt;ByVal&lt;/span&gt;&amp;nbsp;e&amp;nbsp;&lt;span style="color: blue;"&gt;As&lt;/span&gt;&amp;nbsp;System.&lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt;)&amp;nbsp;&lt;span style="color: blue;"&gt;Handles&lt;/span&gt;&amp;nbsp;ServiceCallsBD.InitializeSearchFields&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;With&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Me&lt;/span&gt;.ServiceCallsBD&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.SearchFields(bizServiceCalls.bizServiceCallsFieldNames.CallDateTime.ToString).InitialValue&amp;nbsp;=&amp;nbsp;Now.ToString&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.SearchFields(bizServiceCalls.bizServiceCallsFieldNames.Notes.ToString).InitialValue&amp;nbsp;=&amp;nbsp;&lt;span style="color: rgb(163, 21, 21);"&gt;"My&amp;nbsp;nice&amp;nbsp;note"""&lt;/span&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;With&lt;/span&gt;&lt;br/&gt;&lt;span style="color: blue;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;Sub&lt;/span&gt;&lt;/pre&gt;&lt;span&gt;[/code]&lt;/span&gt;</description><pubDate>Sun, 13 Mar 2011 14:38:05 GMT</pubDate><dc:creator>Edhy Rijo</dc:creator></item><item><title>RE: BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29690.aspx</link><description>I am calling a browse dialog from a button on a standard form, I am filling the search criteria and calling the browse dialog. The dialog comes up with the expected results selected and when I click any where on the browse dialog for the first time&amp;nbsp;I get the following message:&lt;br/&gt;&lt;br/&gt;ArgumentException&lt;br/&gt;&amp;nbsp; An item with the same key has already been added.&lt;br/&gt;&lt;br/&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : mscorlib&lt;br/&gt;&lt;br/&gt;Stack Trace: &lt;br/&gt;&amp;nbsp;&amp;nbsp; at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)&lt;br/&gt;&amp;nbsp;&amp;nbsp; at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)&lt;br/&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.UI.Windows.Forms.BrowseDialog&amp;#119;indow.HandleSearchValueChanged(Control sourceControl, SearchFieldItem sourceFieldItem)&lt;br/&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.UI.Windows.Forms.BrowseDialog&amp;#119;indow.HandleValidated(Object sender, EventArgs e)&lt;br/&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.OnValidated(EventArgs e)&lt;br/&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Forms.Control.PerformControlValidation(Boolean bulkValidation)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;If I close the message everything works as expected and the result is returned as expected and no more messages. In the click event of the calling form&amp;nbsp;I have the following code:&lt;br/&gt;&lt;br/&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;private&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; button1_Click(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; sender, &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;EventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; e)&lt;br/&gt;&lt;br/&gt;{&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.AdvancedOptions = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.AllowHideResults = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.AllowSearchFieldsButton = &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;false&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[0].InitialValue = comboBoxCarrier.Text.Trim();&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[1].InitialValue = comboBoxCust.Text.Trim();&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[2].InitialValue = comboBox1.Text.Trim();&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[3].InitialValue = dateTimePickerBegin.Value.ToShortDateString();&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[4].InitialValue = dateTimePickerEnd.Value.ToShortDateString();&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[5].InitialValue = &lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;""&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.SearchFields[6].InitialValue = &lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;""&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;;&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; (&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.browseDialog1.ShowDialog(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;).Equals(&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;DialogResult&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.OK))&lt;br/&gt;&lt;br/&gt;{&lt;br/&gt;&lt;br/&gt;listView1.Requery();&lt;br/&gt;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;Any thoughts?&lt;br/&gt;&lt;br/&gt;&lt;/font&gt;</description><pubDate>Sun, 13 Mar 2011 14:01:27 GMT</pubDate><dc:creator>Ian Johnston</dc:creator></item><item><title>RE: BrowseDialog setting intial value</title><link>http://forum.strataframe.net/FindPost29378.aspx</link><description>Hi Ian.&lt;br/&gt;&lt;br/&gt;There are two major ways of accomplishing this. One is through the SearchFields Values:&lt;br/&gt;&lt;br/&gt;&lt;a href="http://forum.strataframe.net/FindPost4275.aspx"&gt;&lt;a href="http://forum.strataframe.net/FindPost4275.aspx"&gt;http://forum.strataframe.net/FindPost4275.aspx&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Another one would be to work with the Searching event:&lt;br/&gt;&lt;br/&gt;Help File -&amp;gt; Application Framework -&amp;gt; UI Layer -&amp;gt; Controls -&amp;gt; Browse Dialog -&amp;gt; Events (Searching Event)</description><pubDate>Mon, 17 Jan 2011 03:03:57 GMT</pubDate><dc:creator>Ivan George Borges</dc:creator></item></channel></rss>