{"id":964,"date":"2017-05-17T08:30:14","date_gmt":"2017-05-17T08:30:14","guid":{"rendered":"http:\/\/www.art-events.de\/weblog\/?p=964"},"modified":"2017-05-17T08:30:14","modified_gmt":"2017-05-17T08:30:14","slug":"problem-bindingsource-find-funktioniert-nicht-wenn-tabelle-sich-aendert","status":"publish","type":"post","link":"https:\/\/www.art-events.de\/weblog\/problem-bindingsource-find-funktioniert-nicht-wenn-tabelle-sich-aendert\/","title":{"rendered":"Problem: BindingSource.FIND funktioniert nicht, wenn Tabelle sich \u00e4ndert"},"content":{"rendered":"<p>VB DOT NET, ab Visual Studio VS2005<\/p>\n<p>Problem: Diese paar Zeilen ergeben Datenchaos, wenn sich die der BindingSource zugrunde liegende Liste \u00e4ndert:<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\ndim SuchIndex as integer = -1<br \/>\nSuchIndex = Form1.BindingSource1.Find(&#8222;ArtNr&#8220;, Artikel)<br \/>\nif (SuchIndex &gt; -1) {<\/p>\n<p>Form1.BindingSource1.Position = SuchIndex<br \/>\nadvStamm = CType(Form1.BindingSource1.Current, DataRowView)<\/p>\n<p>&#8230;. verarbeite Datensatz advStamm, Mengen addieren etc &#8230;.<\/p>\n<p>}<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Alles funktioniert super, solange die Liste der BindingSource nach ArtNr sortiert ist.<\/p>\n<p>Ist die Liste aber z.B. nach Menge sortiert und wird beim Verarbeiten eben diese Menge ge\u00e4ndert, so kann sich auch die Reihenfolge des Datensatzes in der Liste \u00e4ndern. Das bekommt bindingsource.find aber nicht mit &#8211; und liefert fleissig den alten SuchIndex Wert zur\u00fcck. Kurzum: advStamm enth\u00e4lt NICHT den Datensatz mit der gesuchten ArtikelNummer! Wenn der nachfolgende Code dass nicht abpr\u00fcft gibt es dramatischen Datensalat!<\/p>\n<p>Einache Abhilfe des Problemes, bevor man sich eine eigene BindingSource.Find Methode bastelt:<\/p>\n<p>With Form1.BindingSource1<br \/>\n.Sort = &#8222;ArtNr&#8220;<br \/>\nEnd With<\/p>\n<p>an den Anfang setzen. Unbedingt sicherstellen, dass sich die Sortierung der Liste innerhalb der Verarbeitung nicht \u00e4ndert!<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VB DOT NET, ab Visual Studio VS2005 Problem: Diese paar Zeilen ergeben Datenchaos, wenn sich die der BindingSource zugrunde liegende Liste \u00e4ndert: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; dim SuchIndex as integer = -1 SuchIndex = Form1.BindingSource1.Find(&#8222;ArtNr&#8220;, Artikel) if (SuchIndex &gt; -1) { Form1.BindingSource1.Position = SuchIndex advStamm = CType(Form1.BindingSource1.Current, DataRowView) &#8230;. verarbeite Datensatz advStamm, Mengen addieren etc &#8230;. } &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-964","post","type-post","status-publish","format-standard","hentry","category-software-technical-view","entry"],"_links":{"self":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts\/964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/comments?post=964"}],"version-history":[{"count":0,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/posts\/964\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/media?parent=964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/categories?post=964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.art-events.de\/weblog\/wp-json\/wp\/v2\/tags?post=964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}