c# - Event being triggered without any declaration -


first of all, let me present exception in screen.

the control 'store1' not have directevent name 'datachanged' or handler absent  

i have pages in project, when go under page "a" , change page "b" , hit backspace ( go last page ), error. if go page "b" , change "a", no error.

i noticed when error occurs, column added not there, , since bind ext.store happens when page not postback, can't watch value has been through.

now, grid holds ext.store :

<ext:gridpanel id="gridpanel1" idmode="explicit" runat="server" autoheight="true"         title="solicitações" autoexpandcolumn="descricao">         <store>             <ext:store id="store1" runat="server" groupfield="solcodigo" grouponsort="true">                 <reader>                     <ext:jsonreader idproperty="solcodigo">                         <fields>                             <ext:recordfield name="solcodigo" sortdir="desc" />                             <ext:recordfield name="soldescricao" type="string" />                             <ext:recordfield name="solstatus" type="string" />                             <ext:recordfield name="prodescricao" type="string" />                             <ext:recordfield name="soldatasolicitacao" type="date" />                             <ext:recordfield name="soldataprevista" type="date" />                             <ext:recordfield name="solnumarquivos" />                             <ext:recordfield name="funnomesolucionador" type="string" />                             <ext:recordfield name="solprioridade" />                             <ext:recordfield name="soldatasolucao" type="string" />                         </fields>                     </ext:jsonreader>                 </reader>             </ext:store>         </store>         <view>             <%--             <ext:groupingview runat="server" hidegroupedcolumn="true" emptygrouptext="indefinido" id="groupingview1" enablegrouping="false" enablegroupingmenu="false">                 <getrowclass fn="getrowclass" />             </ext:groupingview>--%>         </view>         <columnmodel runat="server">             <columns>                 <ext:column dataindex="solcodigo" header="código" width="40">                 </ext:column>                 <ext:column columnid="descricao" header="descrição" dataindex="soldescricao">                     <renderer format="ellipsis" formatargs="50" />                     <commands>                         <ext:imagecommand commandname="comando" />                     </commands>                     <preparecommand fn="preparecellcommand" />                 </ext:column>                 <ext:datecolumn header="solicitado em" dataindex="soldatasolicitacao">                 </ext:datecolumn>                 <ext:datecolumn header="data prevista" dataindex="soldataprevista">                 </ext:datecolumn>                 <ext:column columnid="projeto" header="projeto" dataindex="prodescricao">                 </ext:column>                 <ext:column header="situação" dataindex="solstatus">                     <renderer fn="situacaorender" />                 </ext:column>                 <ext:column header="data de solução" dataindex="soldatasolucao">                 </ext:column>                 <ext:column header="prioridade" dataindex="solprioridade">                     <renderer fn="prioridaderender" />                 </ext:column>             </columns>         </columnmodel>         <directevents>             <dblclick onevent="gridpanel1_dblclick" before="if(#{gridpanel1}.getselectionmodel().getselected() == undefined) return false; ">                 <eventmask showmask="true" />                 <extraparams>                     <%-- or can use params[2].id value --%>                     <%-- <ext:parameter name="id" value="#{gridpanel1}.getselectionmodel().getselected().id;"                         mode="raw" />--%>                     <ext:parameter name="values" value="ext.encode(#{gridpanel1}.getrowsvalues({selectedonly:true}))"                         mode="raw" />                 </extraparams>             </dblclick>         </directevents>         <plugins>             <%--  <ext:rowexpander id="rowexpander1" runat="server" >                 <template id="template1" runat="server">                     <html>                         <p><b>detalhes:</b> {soldescricao}</p>                         <p><b>arquivos:</b> {solnumarquivos}</p>                     </html>                 </template>             </ext:rowexpander>--%>         </plugins>         <selectionmodel>             <ext:rowselectionmodel runat="server" singleselect="true" />         </selectionmodel>     </ext:gridpanel> 

and how bound

 datatable dtsol = new datatable();                 dtsol = sol.listar();                 datatable dtresult = new datatable();                 dtresult.columns.add("solcodigo", typeof(int));                 dtresult.columns.add("soldescricao", typeof(string));                 dtresult.columns.add("soldatasolicitacao", typeof(datetime));                 dtresult.columns.add("soldataprevista", typeof(datetime));                 dtresult.columns.add("prodescricao", typeof(string));                 dtresult.columns.add("solstatus", typeof(string));                 dtresult.columns.add("solprioridade", typeof(int));                 dtresult.columns.add("soldatasolucao", typeof(string));                  var result = r in dtsol.asenumerable()                              select dtresult.loaddatarow(new object[]                               {                                  r.field<int>("solcodigo"),                                  r.field<string>("soldescricao"),                                  r.field<datetime>("soldatasolicitacao"),                                  r.field<datetime>("soldataprevista"),                                  r.field<string>("prodescricao"),                                  r.field<string>("solstatus"),                                  r.field<int>("solprioridade"),                                  r.field<datetime>("soldatasolucao") > datetime.now.addminutes(1) ? string.empty : r.field<datetime>("soldatasolucao").tostring("dd/mm/yyyy")                              }, false);                  this.store1.datasource = result.tolist().any() ? dtresult : new datatable();                  this.store1.databind(); 

thanks in advance.

edit user request

protected void gridpanel1_dblclick(object sender, directeventargs e)         {             //string id = e.extraparams["id"];             string json = e.extraparams["values"];              json = json.replace("solnumarquivos\":\"\"", "solnumarquivos\":0");              clsolicitacao sol = json.deserialize<list<clsolicitacao>>(json).first();             if (sol.solstatus == "df")             {                 response.redirect("chamado.aspx?codigo=" + sol.solcodigo);             }             else             {                 response.redirect("exibirchamado.aspx?codigo=" + sol.solcodigo);             }           } 

edit 2

ext.onready(function(){ext.quicktips.init();ext.apply(ext.net.directmethods, { efetualogout:function(blnlogout,config){ext.net.directmethod.request("efetualogout",ext.applyif(config || {}, {params:{blnlogout:blnlogout}}));} });new ext.net.linkbutton({id:"menubuscar",labelalign:"top",renderto:"menubuscar_container",width:50,arrowalign:"bottom",iconalign:"top",iconcls:"icon-magnifier",menu:{id:"ctl00",xtype:"menu",width:140,items:[{id:"ctl01",xtype:"menutextitem",text:"código:"},{id:"txtbusca",xtype:"textfield",autocreate:{"tag":"input","type":"text","maxlength":7,"autocomplete":"off"},maxlength:7,directevents:{specialkey:{fn:function(el,e){var params=arguments;ext.net.directevent.confirmrequest({formproxyarg:"form1",eventmask:{showmask:true,msg:"buscando solicitações..."},before:function(el, type, action, extraparams){return e.getkey() == ext.eventobject.enter;},control:this,action:'specialkey'});},delay:20}}},{id:"ctl02",iconcls:"icon-magnifier",text:"buscar",directevents:{click:{fn:function(el,e){var params=arguments;ext.net.directevent.confirmrequest({formproxyarg:"form1",eventmask:{showmask:true,msg:"buscando solicitações..."},control:this});},delay:20}}}]},text:"buscar solicitação"});new ext.net.gridpanel({store:this.store1=new ext.ux.data.pagingstore({proxyid:"store1",autoload:true,reader:new ext.data.jsonreader({fields:[{name:"solcodigo",sortdir:"desc"},{name:"soldescricao",type:"string"},{name:"solstatus",type:"string"},{name:"prodescricao",type:"string"},{name:"soldatasolicitacao",type:"date",dateformat:"y-m-dth:i:s"},{name:"soldataprevista",type:"date",dateformat:"y-m-dth:i:s"},{name:"solnumarquivos"},{name:"funnomesolucionador",type:"string"},{name:"solprioridade"}],idproperty:"solcodigo"}),directeventconfig:{formproxyarg:"form1"},groupfield:"solcodigo",grouponsort:true,proxy:new ext.data.pagingmemoryproxy([{"solcodigo":2213,"soldatasolicitacao":"2013-04-16t11:16:23","soldataprevista":"2013-04-17t11:16:23","solprioridade":3,"soldescricao":"gostaria de ter acesso base dbcoeservicedesk servidor brsptp09.\r\n\r\no motivo pedido &#233; para poder aplicar testes e implementar o pr&#243;prio sistema servicedesk assim como foi relatado nas pend&#234;ncias relatadas pelo silva, paulo roberto da.\r\n\r\no usu&#225;rio para qual o acesso &#233; solicitado &#233; &quot; aseixas &quot;. o mesmo solicitante deste chamado.\r\n\r\ngrato.","solstatus":"sp","prodescricao":"crct(petrobrás) - sp","funnomesolucionador":"daniela brito costa                               ","solnumarquivos":0},{"solcodigo":2214,"soldatasolicitacao":"2013-05-10t15:33:11","soldataprevista":"2013-05-11t15:33:11","solprioridade":3,"soldescricao":"sdfgdf","solstatus":"sf","prodescricao":"consiste","funnomesolucionador":"andre silva de seixas                             ","solnumarquivos":0},{"solcodigo":2215,"soldatasolicitacao":"2013-05-13t13:43:34","soldataprevista":"2013-05-14t13:43:34","solprioridade":3,"soldescricao":"abc","solstatus":"sp","prodescricao":null,"funnomesolucionador":null,"solnumarquivos":0},{"solcodigo":2216,"soldatasolicitacao":"2013-05-13t13:45:06","soldataprevista":"2013-05-14t13:45:06","solprioridade":3,"soldescricao":"abc","solstatus":"sp","prodescricao":null,"funnomesolucionador":null,"solnumarquivos":0},{"solcodigo":2217,"soldatasolicitacao":"2013-05-13t13:47:01","soldataprevista":"2013-05-14t13:47:01","solprioridade":3,"soldescricao":"abc","solstatus":"sp","prodescricao":null,"funnomesolucionador":null,"solnumarquivos":0},{"solcodigo":2218,"soldatasolicitacao":"2013-05-13t13:52:43","soldataprevista":"2013-05-14t13:52:43","solprioridade":3,"soldescricao":"asdf","solstatus":"sp","prodescricao":"connector","funnomesolucionador":null,"solnumarquivos":0},{"solcodigo":2219,"soldatasolicitacao":"2013-05-13t13:56:17","soldataprevista":"2013-05-14t13:56:17","solprioridade":3,"soldescricao":"asd","solstatus":"sp","prodescricao":"connector","funnomesolucionador":null,"solnumarquivos":0}], false),directevents:{datachanged:{fn:function(store){var params=arguments;ext.net.directevent.confirmrequest({formproxyarg:"form1",control:this,action:'datachanged'});},delay:20}}}),id:"gridpanel1",renderto:"gridpanel1_container",autoheight:true,title:"solicitações",autoexpandcolumn:"descricao",sm:this.contentplaceholder1_ctl00=new ext.grid.rowselectionmodel({proxyid:"",singleselect:true}),selectionmemory:false,cm:this.contentplaceholder1_ctl01=new ext.grid.columnmodel({proxyid:"",defaultsortable:true,columns:[{dataindex:"solcodigo",header:"código",width:40},{dataindex:"soldescricao",header:"descrição",id:"descricao",renderer:function(value){return ext.util.format.ellipsis(value,50);},commands:[{command:"comando"}],iscellcommand:true,preparecommand:preparecellcommand},{dataindex:"soldatasolicitacao",header:"solicitado em",xtype:"datecolumn",format:"d/m/y"},{dataindex:"soldataprevista",header:"data prevista",xtype:"datecolumn",format:"d/m/y"},{dataindex:"prodescricao",header:"projeto",id:"projeto"},{dataindex:"solstatus",header:"situação",renderer:situacaorender},{dataindex:"solprioridade",header:"prioridade",renderer:prioridaderender}]}),directevents:{dblclick:{fn:function(e){var params=arguments;ext.net.directevent.confirmrequest({formproxyarg:"form1",extraparams:{values:ext.encode(gridpanel1.getrowsvalues({selectedonly:true}))},eventmask:{showmask:true},before:function(el, type, action, extraparams){if(gridpanel1.getselectionmodel().getselected() == undefined) return false; },control:this,action:'dblclick'});},delay:20}}});new ext.window({id:"wndchromewarning",hidden:true,renderto:ext.get("form1"),height:220,width:400,closable:false,buttons:[{id:"ctl03",xtype:"button",text:"fechar aviso",listeners:{click:{fn:function(el,e){wndchromewarning.hide()}}}}],header:false,padding:25,contentel:"wndchromewarning_content",modal:true});});ext.net.resourcemgr.init({id:"ctl00$resourcemanager1",blank_image_url:"/extjs/resources/images/gray/s-gif/ext.axd",aspform:"form1"}); 

this 1 bit tricky, suspect when going page 'a', program trying locate handler datachanged event. total shot in dark... maybe try adding said event directevents element.

note: posting answer @ op's request. orginally in comments.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -