vb.net - ListChanged Event not firing? -
i have class bindinglist(of t) in it. bindinglist bound datagridview on form. when items added bindinglist, show in datagridview scrollbar never changes accommodate new data. starting think because listchanged event isn't being fired (or captured form). have code set this:
data class:
public class data implements inotifypropertychanged public sub new(byval att1 string, byval att2 string) attribute1 = att1 attribute2 = att2 end sub private mattribute1 string public property attribute1 string return mattribute1 end set(byval value string) mattribute1 = value onpropertychanged("attribute1") end set end property private mattribute2 string public property attribute2 string return mattribute2 end set(byval value string) mattribute2 = value onpropertychanged("attribute2") end set end property public sub onpropertychanged(byval name string) raiseevent propertychanged(me, new propertychangedeventargs(name)) end sub public sub changedataformat() 'change 1 format other end sub end class data generator class:
public class datagenerator() private mythread new system.theading.thread(address of startdatageneration) public sub new() mdatalist = new bindinglist(of data) mdatalist.raiselistchangedevents = true private withevents mdatalist bindinglist(of data) public readonly datalist bindinglist(of data) return mdatalist end end property private sub startdatageneration() dim att1 integer = 1 dim att2 integer = 2 integer = 0 1000 mdatalist.insert(0,new data(att1.tostring,att2.tostring) att1 *= 2 att2 *=3 next end sub public sub startdatathread() mythread.start() end sub public sub changedataformat() each d data in mdatalist d.changedataformat() next end sub end class form:
public class form1 private mygenerators new bindinglist(of datagenerator) private mydatagrids new bindinglist(of datagridview) private form1_load(byval sender object, byval e system.eventargs) handles mybase.load dim numberofgenerators integer = convert.toint32(my.settings.cranecount) integer = 1 numberofgenerators dim newgenerator new datagenerator() dim newtab ne tabpage(i.tostring) dim newgrid new datagridview newtab.controls.add(newgrid) newgrid.datasource = newgenerator.datalist mygenerators.add(newgrid) next end sub private sub buttonstart_click(byval sender system.object, byval e system.eventargs) handles buttonstart.click each generator datagenerator in mygenerators generator.startdatathread() next end sub private sub buttonchangeformat_click(byval sender system.object, byval e system.eventargs) handles buttonchangeformat.click each generator datagenerator in mygenerators generator.changedataformat() next end sub end class i know there lot of code wanted clear. when click start button new items start appearing, however, once bottom of grid scroll bar doesn't appear. if click change format button data changes format , updates in grid properly. under impression listchanged event automatically work bindinglist , datagridview. tried calling update , refresh on mydatagridview , setting datagridview.datasource nothing , datalist.
am missing something?
Comments
Post a Comment