Announcement

Collapse
No announcement yet.

Löschenabfrage mit BindingNavigator nicht möglich?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Löschenabfrage mit BindingNavigator nicht möglich?

    Habe eine Form mit einer DataGridView, BindingSource und daran gebundenem BindingNavigator. Um den Nutzer sicherheitshalber zu fragen, ob er wirklich löschen will, habe ich das Click-Ereignis des Löschen-Buttons des Navigators behandelt. Dabei musste ich aber feststellen, dass dieses Ereignis erst nach dem Löschen der Daten ausgelöst wird.
    Hat jemand eine Idee, wie ich das vorzeitige Löschen unterbinden und erst zulassen kann, wenn der Nutzer das Löschen bestätigt hat?

  • #2
    Hall,

    der Button des BindingNavigator stellt das Click-Ereignis zur Verfügung, so dass die Anwendung auf das Anklicken dieses Buttons reagieren kann. Allerdings löst der BindingNavigator dieses Ereignis erst dann aus, wenn die BindingSource-Methode RemoveCurrent bereits ausgeführt wurde. Somit ist das Standardverhalten für die Implementierung einer Sicherheitsabfrage nicht geeignet. Aus diesem Grund muss für diese Aufgabe die BindingNavigator-Eigenschaft DeleteItem auch auf den Listeneintrag (none) geändert werden. Statt dessen wird das Click-Ereignis des Button bindingNavigatorDeleteItem des BindingNavigator verwendet, um nach der erfolgreichen Sicherheitsabfrage den Datensatz über die Methode RemoveCurrent sowohl im DataSet als gelöscht zu markieren und auch sofort in der Darstellung der Benutzeroberfläche zu entfernen:

    <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border-top: windowtext 1pt solid; padding-top: 0pt; border-left: windowtext 1pt solid; padding-left: 0pt; border-right: windowtext 1pt solid; padding-right: 0pt; border-bottom: windowtext 1pt solid; padding-bottom: 0pt;"><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">private</span> <span style="color: blue;">void</span> bindingNavigatorDeleteItem_Click(<span style="color: blue;">object</span> sender, <span style="color: #2b91af;">EventArgs</span> e)</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: #2b91af;">DataRowView</span> aDRV = (<span style="color: #2b91af;">DataRowView</span>)<span style="color: blue;">this</span>.testTblBindingSource.Current;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: #2b91af;">DataSet1</span>.<span style="color: #2b91af;">TestTblRow</span> aRow = (<span style="color: #2b91af;">DataSet1</span>.<span style="color: #2b91af;">TestTblRow</span>)aDRV.Row;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">string</span> sDesc = <span style="color: #2b91af;">String</span>.Format(<span style="color: #a31515;">"ID: {0}; Wert: {1}"</span>, aRow.testtbl_id, aRow.wert);</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">if</span> (<span style="color: #2b91af;">MessageBox</span>.Show(<span style="color: #a31515;">"Sollen dieser Datensatz gel&#246;scht werden?"</span>, sDesc,</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: #2b91af;">MessageBoxButtons</span>.YesNo,</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: #2b91af;">MessageBoxIcon</span>.Question) == <span style="color: #2b91af;">DialogResult</span>.Yes)</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">this</span>.testTblBindingSource.RemoveCurrent();</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; toolStripStatusLabel1.Text = sDesc + <span style="color: #a31515;">" wurde gel&#246;scht."</span>;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: blue;">else</span></p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; toolStripStatusLabel1.Text = <span style="color: #a31515;">"L&#246;schen wurde abgebrochen."</span>;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p></div>
    Attached Files

    Comment


    • #3
      Hallo Andreas,

      vielen Dank für die rasche Antwort. Darauf wäre ich sicher nicht in angemessener Zeit gekommen. Also vielen Dank nochmal.

      Gruß Hartmut

      Comment

      Working...
      X