c# - Delete list item with BindingNavigator, not correct item -


i use bindingnavigator delete items products list, via datagridview. (the methodcall main.deleteproduct() calls repository delete database).

i need improve code of ..deleteitem_click event. when click on cell/or row, , delete button (bindingnavigator), never deletes row. deletes row below, or if it's last row, row above, , if 1 row, null cast. shouldn't bindingsource.current same item currentrow of datagridview?

also, way i'm casting current item using bindingsource way? appretiate better code suggestion if have.

cheers!

 public partial class form1 : form {           private mainbl main = new mainbl();      private   list<product> products = new list<product>      private void form1_load(object sender, eventargs e)     {          bsproducts.datasource = products;         // bindingsource         bnproducts.bindingsource = bsproducts;    // bindingnavigator         datagridview1.datasource = bsproducts;    //     }      private void bindingnavigatordeleteitem_click(object sender, eventargs e)     {          product product = (product)bsproducts.current;         // putting breakpoint here, shows identity property not same        // row selected in datagridview.           main.deleteproduct(product);      } 

a better solution intercept/remove binding navigator's delete event, , handle deletion manually.

go binding navigator; bring properties in properties window. find deleteitem property (under "items" category), , set "(none)".

now can code deletion functionality in click event of delete button in associated toolbar. code in previous answer work - can correct "current" item. can add confirmation check ("are sure?") here if required.

of course, not forget remove item collection bindingsource bound (or refresh data).


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -