c# - WinForms DataGridView throwing IndexOutOfRangeException -
first timer here on stack overflow (although i've been lurking ages).
i'm developing little application contains 2 datagridviews. second datagridview filled via binding on list of custom class objects (the user presses button , list added new element , re-binded datagridview).
the problem i'm facing when have rows in datagridview (even if it's 1 row in fact...), if happen click 1 of rows select them, visual studio pops showing me debugger, because system.indexoutofrangeexception happened.
it seems when user clicks on row, datagridview throws exception because says i'm trying access -1 index of array.
the strange fact exception thrown even if don't have event listening row selection!
actually, there no event @ listening on datagridview.
debugger isn't helping because it's throwing exception @ form constructor level (it's breaking @ application.run(new frmmain()); it's not telling me useful).
can me please?
if need code let me know, , i'll provide can.
thanks!
first of all, feedbacks.
many user @trey made me think had double check bindings.
i binding datagridviews directly lists<customtype>, , not using bindinglist.
my code before:
initialization:
list<customtype> mylist = new list<customtype>(); // populating list code, skipping because not relevant mydatagridviewexample.datasource = mylist; data insertion:
mylist.add(something); mydatagridviewexample.datasource = null; mydatagridviewexample.datasource = mylist; in way, rebinding list directly everytime updated list
my code now:
initialization:
list<customtype> mylist = new list<customtype>(); // populating list code, skipping because not relevant bindinglist<customtype> mybind = new bindinglist<customtype>(mylist); mydatagridviewexample.datasource = mybind; data insertion:
mylist.add(something); mybind.resetbindings(); in way, refreshing bindinglist , not touching directly list itself.
this seem have solved problem, edit answer if encounter other strange behaviours.
thanks again, have nice day! :)
Comments
Post a Comment