<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Controls</title><link>https://www.infopathdev.com:443/forums/43.aspx</link><description> </description><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Re: filter bool values</title><link>https://www.infopathdev.com:443/forums/thread/37377.aspx</link><pubDate>Tue, 20 Jan 2009 09:27:31 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:37377</guid><dc:creator>tylkomat</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/37377.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=43&amp;PostID=37377</wfw:commentRss><description>&lt;p&gt;For those who want to know how I did it. Here my solution.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I added a changeListener through context click on the checkbox-&amp;gt;programming-&amp;gt;change event.&lt;/p&gt;
&lt;p&gt;My Code to this event looks like the following:&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;font size="2"&gt; check_Changed(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#008080" size="2"&gt;XmlEventArgs&lt;/font&gt;&lt;font size="2"&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;// Write your code here to change the main data source.&lt;/p&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; (e.Operation.ToString() == &lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;ValueChange&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#008080" size="2"&gt;String&lt;/font&gt;&lt;font size="2"&gt; Artikelnummer = e.Site.SelectSingleNode(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;../my:Artikelnummer&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager).Value;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/font&gt;&lt;font color="#008080" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; xnUArtikelnummer = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;this&lt;/font&gt;&lt;font size="2"&gt;.DataSources[0].CreateNavigator().SelectSingleNode(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;/my:myFields/my:Updates&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager);&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;foreach&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#008080" size="2"&gt;XPathNavigator&lt;/font&gt;&lt;font size="2"&gt; Node &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;in&lt;/font&gt;&lt;font size="2"&gt; xnUArtikelnummer.Select(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;//my:Update&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager))&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;font size="2"&gt; (Artikelnummer == Node.SelectSingleNode(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;./my:uArtikelnummer&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager).InnerXml)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;Node.SelectSingleNode(&lt;/font&gt;&lt;font color="#800000" size="2"&gt;&amp;quot;./my:uCheck&amp;quot;&lt;/font&gt;&lt;font size="2"&gt;, NamespaceManager).InnerXml = e.NewValue;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Comment:&lt;/p&gt;
&lt;p&gt;- look if the operation on the checkbox was a changeEvent&lt;/p&gt;
&lt;p&gt;- compare Artikelnummer and uArtikelnummer&lt;/p&gt;
&lt;p&gt;- if both are equal change the uCheck value to the current value of the checkbox&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PS: Will it be faster if I just select all equal Artikelnummer and uArtikelnummer via XPath expression ? And only iterate trough them instead of all values?&lt;/p&gt;&lt;/font&gt;</description></item><item><title>Re: filter bool values</title><link>https://www.infopathdev.com:443/forums/thread/37370.aspx</link><pubDate>Tue, 20 Jan 2009 07:58:13 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:37370</guid><dc:creator>tylkomat</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/37370.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=43&amp;PostID=37370</wfw:commentRss><description>&lt;p&gt;Thanks a lot. That brought me to the right idea. I think I found a little shorter way, but with the same basic principle.&lt;/p&gt;</description></item><item><title>Re: filter bool values</title><link>https://www.infopathdev.com:443/forums/thread/37358.aspx</link><pubDate>Tue, 20 Jan 2009 04:14:20 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:37358</guid><dc:creator>swathip</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/37358.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=43&amp;PostID=37358</wfw:commentRss><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can achieve this using the following code. Write an on after change event for the check box.&lt;/p&gt;
&lt;p&gt;[InfoPathEventHandler(MatchPath = &amp;quot;/my:myFields/my: Bestellungen/my: Bestellung/my: check&amp;quot;, EventType = InfoPathEventType.OnAfterChange)]&lt;/p&gt;
&lt;p&gt;public void field29_OnAfterChange(DataDOMEvent e)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;if (e.IsUndoRedo)&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;return;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;if (e.Site.text == &amp;quot;true&amp;quot;)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;string Artikelnummer = e.Site.parentNode.selectSingleNode(&amp;quot;my: Artikelnummer&amp;quot;).text;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;IXMLDOMNodeList uCheckNodes = thisXDocument.DOM.selectNodes(string.Format(&amp;quot;/my:myFields/my: Updates/my: Update [my: uArtikelnummer = &amp;#39;{0}&amp;#39;]/my: uCheck&amp;quot;, Artikelnummer));&lt;/p&gt;
&lt;p&gt;&amp;nbsp;foreach (IXMLDOMNode uCheckNode in uCheckNodes)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp;setNodeValue(uCheckNode, true);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;private void setNodeValue(IXMLDOMNode node, object newValue)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (node == null || newValue == null)&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string value = Convert.ToString(newValue, CultureInfo.InvariantCulture);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // The xsi:nil needs to be removed before we set the value.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((node.nodeType != DOMNodeType.NODE_ATTRIBUTE) &amp;amp;&amp;amp; (value.Length != 0))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; IXMLDOMElement elementNode = node as IXMLDOMElement;&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((elementNode != null) &amp;amp;&amp;amp; (elementNode.getAttribute(&amp;quot;xsi:nil&amp;quot;) != null))&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elementNode.removeAttribute(&amp;quot;xsi:nil&amp;quot;);&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Force boolean values to lowercase.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (newValue.GetType() == Type.GetType(&amp;quot;System.Boolean&amp;quot;))&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; value = value.ToLower(cultureInfo);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setting the value would mark the document as dirty.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Let&amp;#39;s do that if the value has really changed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (String.Compare(node.text, value) != 0)&lt;/p&gt;
&lt;p&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; node.text = value;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>filter bool values</title><link>https://www.infopathdev.com:443/forums/thread/37316.aspx</link><pubDate>Mon, 19 Jan 2009 10:55:13 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:37316</guid><dc:creator>tylkomat</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/37316.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=43&amp;PostID=37316</wfw:commentRss><description>&lt;p&gt;Hello folks,&lt;/p&gt;
&lt;p&gt;I have a repeating table with checkboxes and a repeating folder with values to update. When I select a checkbox, I want to set all check fields which have the same article number as the one which depend on the checkbox to the value of the selected checkbox. I tried to set a&amp;nbsp;rule&amp;nbsp;with a filter but an error appears, that&amp;nbsp;I cannot set a filter to that field. &lt;/p&gt;
&lt;p&gt;Is it not possible to filter boolean values ? How can I archive it ?&lt;/p&gt;
&lt;p&gt;CAML:&lt;/p&gt;
&lt;p&gt;&amp;lt;myFields&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;Bestellungen&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Bestellung&amp;gt; (repeating)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Artikelnummer&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Beschreibung&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Menge&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;check&amp;gt; (checkbox value)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Bestellung&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/Bestellungen&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;lt;Updates&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;Update&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ID&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uCheck&amp;gt; (bool to set when checkbox is selected)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;uArtikelnummer&amp;gt; (should match Artikelnummer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/Update&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/Updates&amp;gt;&lt;br /&gt;&amp;lt;/myFields&amp;gt;&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Regards Matthias.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;PS: I hope my explanation is understandable.&lt;/p&gt;</description></item></channel></rss>