eclipse - How to handle StoreEvent in editable grid ?? GXT -


i have created editable grid 3 columns out of 5 editable. need retrieve number entered in these editable cells , add them display in other cells of same grid. ive added storelistener liststore contains preloaded grid data. , overriden storeupdate(storeevent se) method. im not getting how retrieve updated data using update event.... pls me guys....... code this

package org.openxdata.analyzer.client;  import java.util.arraylist;  import com.extjs.gxt.ui.client.event.componentevent; import com.extjs.gxt.ui.client.event.events; import com.extjs.gxt.ui.client.event.gridevent;  import com.extjs.gxt.ui.client.event.listener; import com.extjs.gxt.ui.client.widget.grid.columnconfig;   import com.google.gwt.user.client.element; import com.extjs.gxt.ui.client.widget.grid.columnmodel;   import com.extjs.gxt.ui.client.style.horizontalalignment;   import java.util.list; import com.extjs.gxt.ui.client.store.liststore; import com.extjs.gxt.ui.client.store.storeevent; import com.extjs.gxt.ui.client.store.storelistener; import com.extjs.gxt.ui.client.widget.window; import com.extjs.gxt.ui.client.widget.button.button; import com.extjs.gxt.ui.client.widget.form.textfield;   import com.extjs.gxt.ui.client.widget.grid.celleditor;   import com.extjs.gxt.ui.client.widget.grid.editorgrid;   import com.extjs.gxt.ui.client.widget.layout.fitlayout;   import com.extjs.gxt.ui.client.widget.layout.formdata; import com.extjs.gxt.ui.client.data.basemodel; import com.extjs.gxt.ui.client.event.buttonevent; import com.extjs.gxt.ui.client.event.selectionlistener; import com.extjs.gxt.ui.client.widget.viewport; import com.extjs.gxt.ui.client.widget.form.numberfield; import com.extjs.gxt.ui.client.data.modeldata;   public class grid1 extends viewport {      @override     protected void onrender(element parent, int index) {         super.onrender(parent, index);         setstyleattribute("margin", "10px");            final window w = new window();         w.setheading("grids");         w.setsize(600,250);         w.setmodal(true);         //w.setlayout(new rowlayout(orientation.vertical));          w.setlayout(new fitlayout());         w.setresizable(false);          formdata formdata = new formdata("98%");           list<columnconfig> col = new arraylist<columnconfig>();         columnconfig column = new columnconfig();         column.setid("disease");         column.setwidth(150);         textfield<string> text = new textfield<string>();             text.setallowblank(false);             text.setautovalidate(true);             //column.seteditor(new celleditor(text));           col.add(column);           column = new columnconfig();         column.setid("exposure");         column.setwidth(120);         textfield<string> text1 = new textfield<string>();             text1.setallowblank(false);             text1.setautovalidate(true);             //column.seteditor(new celleditor(text1));           col.add(column);          column = new columnconfig();         column.setid("plus");         column.setheader("exposure");         column.setwidth(80);     final numberfield text2 = new numberfield();             text2.setallowblank(false);             text2.setautovalidate(true);             column.seteditor(new celleditor(text2));           col.add(column);          column = new columnconfig();         column.setid("minus");         column.setheader("exposure");         column.setwidth(80);         final numberfield text3 = new numberfield();            text3.setallowblank(false);             text3.setautovalidate(true);             column.seteditor(new celleditor(text3));           col.add(column);          column = new columnconfig();         column.setid("total");         column.setheader("totals");         column.setwidth(80);         final numberfield text4 = new numberfield();               text4.setallowblank(false);             text4.setautovalidate(true);             column.seteditor(new celleditor(text4));           column.setalignment(horizontalalignment.right);         col.add(column);         //columnmodel cm = new columnmodel(col);          liststore<grid2> employeelist = new liststore<grid2>();             employeelist.add(cool.getgrid());             employeelist.addstorelistener(new storelistener<grid2>() {           @override         public void storeupdate(storeevent<grid2> se) {                 //dostoreupdate(se);           }         });          columnmodel cm = new columnmodel(col);             final editorgrid<grid2> grid = new editorgrid<grid2>(employeelist, cm);           //grid.setstyleattribute("bordertop", "none");           //grid.setautoexpandcolumn("name");           grid.setborders(true);           grid.setstriperows(true);            /*         grid.addlistener(events.onchange, new listener<componentevent>() {              public void handleevent(componentevent ce) {              }         });              */         w.add(grid);         w.show();     } }   class grid2 extends basemodel {     private static final long serialversionuid = 1l;     public grid2(){     }     public grid2  ( string  dis, string exp, integer x,integer y) {         set("disease", dis);         set("exposure", exp);         set("plus", x);         set("minus", y);     }      public grid2 (string  dis, string exp, integer x,             integer y, double v) {         // this(dis, exp, x,y,v);         set("disease", dis);         set("exposure", exp);         set("plus", x);         set("minus", y);         set("total", v);     }     public grid2(string a,string b,string c,string d,string t){         set("disease",a);         set("exposure",b);         set("plus",c);         set("minus",d);         set("total",t);     }     public  integer getplus() {         return (integer)get("plus");     }     public integer getminus() {         return (integer)get("minus");     }       public class testdata {            public  list<grid2> getdata()           {               list<grid2> lt= new arraylist<grid2>();                  lt.add(new grid2("christina blake","information technology",1,2,1.23));               lt.add(new grid2("heriberto rush","information technology",3,4,1.334));                return lt;           }       }    }  class cool {        public static  list<grid2> getgrid()       {           list<grid2> data = new arraylist<grid2>();            //data.add(new grid(" "," ","exposure"," ","totals"));           data.add(new grid2(" "," ","(+)","(-)"," "));           data.add(new grid2("'disease'","(+)",0,0,0.00));           data.add(new grid2(" ","(-)",0,0,0.00));           data.add(new grid2("totals"," ",0,0,0.00));             return data;       }    } 

i make of changes in code check out code you.

package org.openxdata.analyzer.client;  import java.util.arraylist; import java.util.list;  import com.extjs.gxt.ui.client.style.horizontalalignment; import com.extjs.gxt.ui.client.event.baseevent; import com.extjs.gxt.ui.client.event.events; import com.extjs.gxt.ui.client.event.gridevent; import com.extjs.gxt.ui.client.event.listener; import com.extjs.gxt.ui.client.store.liststore; import com.extjs.gxt.ui.client.store.storeevent; import com.extjs.gxt.ui.client.store.storelistener; import com.extjs.gxt.ui.client.widget.viewport; import com.extjs.gxt.ui.client.widget.window; import com.extjs.gxt.ui.client.widget.form.numberfield; import com.extjs.gxt.ui.client.widget.form.textfield; import com.extjs.gxt.ui.client.widget.grid.celleditor; import com.extjs.gxt.ui.client.widget.grid.columnconfig; import com.extjs.gxt.ui.client.widget.grid.columnmodel; import com.extjs.gxt.ui.client.widget.grid.editorgrid; import com.extjs.gxt.ui.client.widget.layout.fitlayout; import com.extjs.gxt.ui.client.widget.layout.formdata; import com.google.gwt.user.client.element;   public class grid1 extends viewport {  @override protected void onrender(element parent, int index) {     super.onrender(parent, index);     setstyleattribute("margin", "10px");        final window w = new window();     w.setheading("grids");     w.setsize(600,250);     w.setmodal(true);     //w.setlayout(new rowlayout(orientation.vertical));      w.setlayout(new fitlayout());     w.setresizable(false);      formdata formdata = new formdata("98%");       list<columnconfig> col = new arraylist<columnconfig>();     columnconfig column = new columnconfig();     column.setid("disease");     column.setwidth(150);     textfield<string> text = new textfield<string>();         text.setallowblank(false);         text.setautovalidate(true);         //column.seteditor(new celleditor(text));       col.add(column);       column = new columnconfig();     column.setid("exposure");     column.setwidth(120);     textfield<string> text1 = new textfield<string>();         text1.setallowblank(false);         text1.setautovalidate(true);         //column.seteditor(new celleditor(text1));       col.add(column);      column = new columnconfig();     column.setid("plus");     column.setheader("exposure");     column.setwidth(80); final numberfield text2 = new numberfield();         text2.setallowblank(false);         text2.setautovalidate(true);         column.seteditor(new celleditor(text2));       col.add(column);      column = new columnconfig();     column.setid("minus");     column.setheader("exposure");     column.setwidth(80);     final numberfield text3 = new numberfield();        text3.setallowblank(false);         text3.setautovalidate(true);         column.seteditor(new celleditor(text3));       col.add(column);      column = new columnconfig();     column.setid("total");     column.setheader("totals");     column.setwidth(80);     final numberfield text4 = new numberfield();           text4.setallowblank(false);         text4.setautovalidate(true);         column.seteditor(new celleditor(text4));       column.setalignment(horizontalalignment.right);     col.add(column);     //columnmodel cm = new columnmodel(col);      liststore<grid2> employeelist = new liststore<grid2>();         employeelist.add(cool.getgrid());         employeelist.addstorelistener(new storelistener<grid2>() {       @override     public void storeupdate(storeevent<grid2> se) {             //dostoreupdate(se);       }     });      columnmodel cm = new columnmodel(col);         final editorgrid<grid2> grid = new editorgrid<grid2>(employeelist, cm);       //grid.setstyleattribute("bordertop", "none");       //grid.setautoexpandcolumn("name");       grid.setborders(true);       grid.setstriperows(true);        /*     grid.addlistener(events.onchange, new listener<componentevent>() {          public void handleevent(componentevent ce) {          }     });          */     w.add(grid);     w.show();      grid.addlistener(events.afteredit, new listener<baseevent>() {         @override         public void handleevent(baseevent be) {             gridevent ge = (gridevent) be;                  double plustotal = 0.0;                 double minustotal = 0.0;                 for(int i=1 ; < grid.getstore().getcount();i++ ){                     if(grid.getstore().getat(i).get("disease").tostring().equals("totals")){                         grid.getstore().getat(i).set("plus",plustotal);                         grid.getstore().getat(i).set("minus",minustotal);                         grid.getstore().getat(i).calculatetotal();                         grid.getstore().commitchanges();                     }else{                         plustotal = plustotal + (grid.getstore().getat(i).getplus());                         minustotal = minustotal + (grid.getstore().getat(i).getminus());                     }                 }                  grid.getselectionmodel().getselecteditem().calculatetotal();                 grid.getstore().commitchanges();         }     }); } }   package org.openxdata.analyzer.client;  import java.util.arraylist; import java.util.list;  import com.extjs.gxt.ui.client.data.basemodel;  class grid2 extends basemodel {     private static final long serialversionuid = 1l;     public grid2(){     }     public grid2  ( string  dis, string exp, integer x,integer y) {         set("disease", dis);         set("exposure", exp);         set("plus", x);         set("minus", y);     }      public grid2 (string  dis, string exp, integer x,             integer y, double v) {         // this(dis, exp, x,y,v);         set("disease", dis);         set("exposure", exp);         set("plus", x);         set("minus", y);         set("total", v);     }     public grid2(string a,string b,string c,string d,string t){         set("disease",a);         set("exposure",b);         set("plus",c);         set("minus",d);         set("total",t);     }     public  double getplus() {         return double.valueof(get("plus").tostring());     }     public double getminus() {         return double.valueof(get("minus").tostring());     }      public void calculatetotal(){         set("total",(getplus() - getminus()));     }      public class testdata {            public  list<grid2> getdata()           {               list<grid2> lt= new arraylist<grid2>();                  lt.add(new grid2("christina blake","information technology",1,2,1.23));               lt.add(new grid2("heriberto rush","information technology",3,4,1.334));                return lt;           }       }    }   package org.openxdata.analyzer.client;  import java.util.arraylist; import java.util.list;  public class cool {      public static  list<grid2> getgrid()       {           list<grid2> data = new arraylist<grid2>();            //data.add(new grid(" "," ","exposure"," ","totals"));           data.add(new grid2(" "," ","(+)","(-)"," "));           data.add(new grid2("'disease'","(+)",0,0,0.00));           data.add(new grid2(" ","(-)",0,0,0.00));           data.add(new grid2("totals"," ",0,0,0.00));             return data;       } } 

Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -