Note that there are some explanatory texts on larger screens.

plurals
  1. POEvent being triggered without any declaration
    text
    copied!<p>First of all, let me present to you the exception I get in the screen.</p> <pre><code>The control 'Store1' does not have an DirectEvent with the name 'DataChanged' or the handler is absent </code></pre> <p>I have some pages in my project, when I go under the page "A" and change to the page "B" and then hit backspace ( so I go to the last page I was ), I get that error. But if I go to the page "B" and change back to "A", I get no error.</p> <p>I noticed that when the error occurs, a column I added is not there, and since the bind to the ext.Store happens when the page is not postback, I can't watch the value that has been through.</p> <p>Now, this is the grid that holds the ext.Store :</p> <pre><code>&lt;ext:GridPanel id="GridPanel1" idmode="Explicit" runat="server" autoheight="true" title="Solicitações" autoexpandcolumn="Descricao"&gt; &lt;Store&gt; &lt;ext:Store ID="Store1" runat="server" GroupField="solCodigo" GroupOnSort="true"&gt; &lt;Reader&gt; &lt;ext:JsonReader IDProperty="solCodigo"&gt; &lt;Fields&gt; &lt;ext:RecordField Name="solCodigo" SortDir="DESC" /&gt; &lt;ext:RecordField Name="solDescricao" Type="String" /&gt; &lt;ext:RecordField Name="solStatus" Type="String" /&gt; &lt;ext:RecordField Name="proDescricao" Type="String" /&gt; &lt;ext:RecordField Name="solDataSolicitacao" Type="Date" /&gt; &lt;ext:RecordField Name="solDataPrevista" Type="Date" /&gt; &lt;ext:RecordField Name="solNumArquivos" /&gt; &lt;ext:RecordField Name="funNomeSolucionador" Type="String" /&gt; &lt;ext:RecordField Name="solPrioridade" /&gt; &lt;ext:RecordField Name="solDataSolucao" Type="String" /&gt; &lt;/Fields&gt; &lt;/ext:JsonReader&gt; &lt;/Reader&gt; &lt;/ext:Store&gt; &lt;/Store&gt; &lt;View&gt; &lt;%-- &lt;ext:GroupingView runat="server" HideGroupedColumn="true" EmptyGroupText="Indefinido" ID="groupingView1" EnableGrouping="false" EnableGroupingMenu="false"&gt; &lt;GetRowClass Fn="getRowClass" /&gt; &lt;/ext:GroupingView&gt;--%&gt; &lt;/View&gt; &lt;ColumnModel runat="server"&gt; &lt;Columns&gt; &lt;ext:Column DataIndex="solCodigo" Header="Código" Width="40"&gt; &lt;/ext:Column&gt; &lt;ext:Column ColumnID="Descricao" Header="Descrição" DataIndex="solDescricao"&gt; &lt;Renderer Format="Ellipsis" FormatArgs="50" /&gt; &lt;Commands&gt; &lt;ext:ImageCommand CommandName="Comando" /&gt; &lt;/Commands&gt; &lt;PrepareCommand Fn="prepareCellCommand" /&gt; &lt;/ext:Column&gt; &lt;ext:DateColumn Header="Solicitado em" DataIndex="solDataSolicitacao"&gt; &lt;/ext:DateColumn&gt; &lt;ext:DateColumn Header="Data prevista" DataIndex="solDataPrevista"&gt; &lt;/ext:DateColumn&gt; &lt;ext:Column ColumnID="Projeto" Header="Projeto" DataIndex="proDescricao"&gt; &lt;/ext:Column&gt; &lt;ext:Column Header="Situação" DataIndex="solStatus"&gt; &lt;Renderer Fn="situacaoRender" /&gt; &lt;/ext:Column&gt; &lt;ext:Column Header="Data de Solução" DataIndex="solDataSolucao"&gt; &lt;/ext:Column&gt; &lt;ext:Column Header="Prioridade" DataIndex="solPrioridade"&gt; &lt;Renderer Fn="prioridadeRender" /&gt; &lt;/ext:Column&gt; &lt;/Columns&gt; &lt;/ColumnModel&gt; &lt;DirectEvents&gt; &lt;DblClick OnEvent="GridPanel1_DblClick" Before="if(#{GridPanel1}.getSelectionModel().getSelected() == undefined) return false; "&gt; &lt;EventMask ShowMask="true" /&gt; &lt;ExtraParams&gt; &lt;%-- or can use params[2].id as value --%&gt; &lt;%-- &lt;ext:Parameter Name="id" Value="#{GridPanel1}.getSelectionModel().getSelected().id;" Mode="Raw" /&gt;--%&gt; &lt;ext:Parameter Name="Values" Value="Ext.encode(#{GridPanel1}.getRowsValues({selectedOnly:true}))" Mode="Raw" /&gt; &lt;/ExtraParams&gt; &lt;/DblClick&gt; &lt;/DirectEvents&gt; &lt;Plugins&gt; &lt;%-- &lt;ext:RowExpander ID="RowExpander1" runat="server" &gt; &lt;Template ID="Template1" runat="server"&gt; &lt;Html&gt; &lt;p&gt;&lt;b&gt;Detalhes:&lt;/b&gt; {solDescricao}&lt;/p&gt; &lt;p&gt;&lt;b&gt;Arquivos:&lt;/b&gt; {solNumArquivos}&lt;/p&gt; &lt;/Html&gt; &lt;/Template&gt; &lt;/ext:RowExpander&gt;--%&gt; &lt;/Plugins&gt; &lt;SelectionModel&gt; &lt;ext:RowSelectionModel runat="server" SingleSelect="true" /&gt; &lt;/SelectionModel&gt; &lt;/ext:GridPanel&gt; </code></pre> <p>And how it bound</p> <pre><code> 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 = from r in dtSol.AsEnumerable() select dtResult.LoadDataRow(new object[] { r.Field&lt;int&gt;("solCodigo"), r.Field&lt;string&gt;("solDescricao"), r.Field&lt;DateTime&gt;("solDataSolicitacao"), r.Field&lt;DateTime&gt;("solDataPrevista"), r.Field&lt;string&gt;("proDescricao"), r.Field&lt;string&gt;("solStatus"), r.Field&lt;int&gt;("solPrioridade"), r.Field&lt;DateTime&gt;("solDataSolucao") &gt; DateTime.Now.AddMinutes(1) ? string.Empty : r.Field&lt;DateTime&gt;("solDataSolucao").ToString("dd/MM/yyyy") }, false); this.Store1.DataSource = result.ToList().Any() ? dtResult : new DataTable(); this.Store1.DataBind(); </code></pre> <p>Thanks in advance.</p> <p><strong>EDIT</strong> User Request</p> <pre><code>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&lt;List&lt;clSolicitacao&gt;&gt;(json).First(); if (sol.solStatus == "DF") { Response.Redirect("Chamado.aspx?codigo=" + sol.solCodigo); } else { Response.Redirect("ExibirChamado.aspx?codigo=" + sol.solCodigo); } } </code></pre> <p><strong>EDIT 2</strong></p> <pre><code>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 a base dbCOEServiceDesk do servidor BRSPTP09.\r\n\r\nO motivo do pedido &amp;#233; para poder aplicar testes e implementar o pr&amp;#243;prio sistema do ServiceDesk assim como foi relatado nas pend&amp;#234;ncias relatadas pelo Silva, Paulo Roberto da.\r\n\r\nO usu&amp;#225;rio para qual o acesso &amp;#233; solicitado &amp;#233; &amp;quot; aseixas &amp;quot;. O mesmo do 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"}); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload