-
23 Mar 2010 6:28 AM #1
Error this.proxy is null
Error this.proxy is null
Hi All, below is the code of my JSP. It gives error "this.proxy is null or not an object" wheneve i try to use ds.load() or ds.reload() to re-populate my grid with the updated data. Any quick help would be highly appreciated. Thanks in advance.
<%@page language="java" contentType="text/html;charset=UTF-8"%>
<%@taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
<%@taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
<%@taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<style type="text/css">
.x-grid3-cell-inner,.x-grid3-hd-inner {
overflow:hidden;
padding:3px 3px 3px 5px;
white-space:normal;
}
</style>
<%
com.bea.netuix.servlets.controls.window.WindowPresentationContext wpc = com.bea.netuix.servlets.controls.window.WindowPresentationContext.getWindowPresentationContext(request);
com.bea.portlet.PostbackURL postbackURL = com.bea.portlet.PostbackURL.createPostbackURL(request, response);
String deleteAlertURLBuffer = postbackURL + "&" + wpc.getLabel();
%><script type="text/javascript">
Ext.BLANK_IMAGE_URL ='/supplierPortalWeb/framework/skins/supplier/images/s.gif';
Ext.onReady(function(){
Ext.QuickTips.init();
var xg = Ext.grid;
// SPP2: Added - Checkbox selection model is created.
var checkboxSel = new Ext.grid.CheckboxSelectionModel({width: 43});
// shared reader
var reader = new Ext.data.ArrayReader({}, [
{name: 'message'},
{name: 'company'},
{name: 'lastChange', type: 'date'},
{name:'alertId'}
]);
var ds = new Ext.data.GroupingStore({
reader: reader,
data: xg.dummyData,
sortInfo:{field: 'lastChange', direction: "DESC"},
groupField:'company'
});
var grid = new xg.GridPanel({
store: ds,
columns: [
{id:'message',header: "Message", sortable: true, dataIndex: 'message'},
{header: "Company", width: 40, sortable: true, dataIndex: 'company'},
{header: "Date", width: 14, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
// SPP2: Added - Checkboxes are added.
, checkboxSel
],
sm: checkboxSel,
// SPP2: Add - Adding the delete button on right
bbar:['->',
{text:'Delete', tooltip:'Click to delete checked alerts' , icon:'/supplierPortalWeb/framework/skins/supplier/images/icon-delete.gif' , cls:'x-btn-text-icon' , handler: function(){
Ext.Msg.show({
title:'Delete alert(s)?',
msg: 'Are you sure to delete alert(s)?',
buttons: Ext.Msg.YESNO,
fn:function(btn){
var deletedIDs=[]; //array of selected alerts
if(btn=='yes'){
var selectedRows=checkboxSel.getSelections();
if(selectedRows.length>0){
for(i=0;i<selectedRows.length;i++){
deletedIDs.push(selectedRows[i].get('alertId'));
}
varids = deletedIDs.toString()
Ext.Ajax.request({
url : '<%=deleteAlertURLBuffer%>' + "_actionOverride=%2Fcom%2Fboehringer%2Fsupplier%2Fpageflows%2Falert%2FupdateAlert&AlertController_2",
method: 'POST',
params :{
alertIDs:ids
},
success: function(response, opts) {
ds.reload();
}
}
);
}else{
alert("please... Select at least one alert!");
}
}else if(btn=='no'){
return false;
}
},
animEl: 'elId',
icon: Ext.MessageBox.QUESTION
});
}}],
view: new Ext.grid.GroupingView({
forceFit:true,
scrollOffset: 0,
groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
}),
frame:true,
width: 945,
height: 300,
footer: true,
collapsible: false,
animCollapse: false,
iconCls: 'icon-grid',
renderTo: 'subscription-alert-grid'
});
});
Ext.grid.dummyData = [
<c:forEach items="${pageFlow.subscriptionAlertsList}" var="item" varStatus="status">
['${fn:replace(item.content,"'","'")}','${fn:replace(item.supplierName,"'","'")}','${item.createDateAsDate}','${item.subscriptionAlertByUserId}']
<c:if test="${!status.last}" >,</c:if>
</c:forEach>
];
// Array data for the grids</script>
<h1>Alerts</h1>
<div id="subscription-alert-grid"></div>
-
23 Mar 2010 3:45 PM #2Sencha - Community Support Team
- Join Date
- Mar 2007
- Location
- Frederick MD, NYC, DC
- Posts
- 16,169
- Vote Rating
- 28
Please repost your code within CODE tags.

Jay Garcia @ModusJesus || Modus Create co-founder
Ext JS in Action author
Sencha Touch in Action author
Get in touch for Ext JS & Sencha Touch Touch Training
We are also working on Video-based Sencha Touch training: Check it out here.
-
30 Mar 2010 6:25 AM #3
Error this.proxy is null
Error this.proxy is null
Hi All, below is the code of my JSP. It gives error "this.proxy is null or not an object" wheneve i try to use ds.load() or ds.reload() to re-populate my grid with the updated data. Any quick help would be highly appreciated. Thanks in advance.
Code:<%@ page language="java" contentType="text/html;charset=UTF-8"%> <%@taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%> <%@taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%> <%@taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> < style type="text/css"> .x-grid3-cell-inner,.x-grid3-hd-inner { overflow:hidden; padding:3px 3px 3px 5px; white-space:normal; } </ style> <% com.bea.netuix.servlets.controls.window.WindowPresentationContext wpc = com.bea.netuix.servlets.controls.window.WindowPresentationContext.getWindowPresentationContext(request); com.bea.portlet.PostbackURL postbackURL = com.bea.portlet.PostbackURL.createPostbackURL(request, response); String deleteAlertURLBuffer = postbackURL + "&" + wpc.getLabel(); %> < script type="text/javascript"> Ext.BLANK_IMAGE_URL = '/supplierPortalWeb/framework/skins/supplier/images/s.gif'; Ext.onReady(function(){ Ext.QuickTips.init(); var xg = Ext.grid; // SPP2: Added - Checkbox selection model is created. var checkboxSel = new Ext.grid.CheckboxSelectionModel({width: 43}); // shared reader var reader = new Ext.data.ArrayReader({}, [ {name: 'message'}, {name: 'company'}, {name: 'lastChange', type: 'date'}, {name:'alertId'} ]); var ds = new Ext.data.GroupingStore({ reader: reader, data: xg.dummyData, sortInfo:{field: 'lastChange', direction: "DESC"}, groupField:'company' }); var grid = new xg.GridPanel({ store: ds, columns: [ {id:'message',header: "Message", sortable: true, dataIndex: 'message'}, {header: "Company", width: 40, sortable: true, dataIndex: 'company'}, {header: "Date", width: 14, sortable: true, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'} // SPP2: Added - Checkboxes are added. , checkboxSel ], sm: checkboxSel, // SPP2: Add - Adding the delete button on right bbar:['->', {text:'Delete', tooltip:'Click to delete checked alerts' , icon:'/supplierPortalWeb/framework/skins/supplier/images/icon-delete.gif' , cls:'x-btn-text-icon' , handler: function(){ Ext.Msg.show({ title:'Delete alert(s)?', msg: 'Are you sure to delete alert(s)?', buttons: Ext.Msg.YESNO, fn:function(btn){ var deletedIDs=[]; //array of selected alerts if(btn=='yes'){ var selectedRows=checkboxSel.getSelections(); if(selectedRows.length>0){ for(i=0;i<selectedRows.length;i++){ deletedIDs.push(selectedRows[i].get('alertId')); } var ids = deletedIDs.toString() Ext.Ajax.request({ url : '<%=deleteAlertURLBuffer%>' + "_actionOverride=%2Fcom%2Fboehringer%2Fsupplier%2Fpageflows%2Falert%2FupdateAlert&AlertController_2", method: 'POST', params :{ alertIDs:ids }, success: function(response, opts) { ds.reload(); } } ); }else{ alert("please... Select at least one alert!"); } }else if(btn=='no'){ return false; } }, animEl: 'elId', icon: Ext.MessageBox.QUESTION }); }}], view: new Ext.grid.GroupingView({ forceFit:true, scrollOffset: 0, groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})' }), frame:true, width: 945, height: 300, footer: true, collapsible: false, animCollapse: false, iconCls: 'icon-grid', renderTo: 'subscription-alert-grid' }); } ); Ext.grid.dummyData = [ <c:forEach items="${pageFlow.subscriptionAlertsList}" var="item" varStatus="status"> ['${fn:replace(item.content,"'","'")}','${fn:replace(item.supplierName,"'","'")}','${item.createDateAsDate}','${item.subscriptionAlertByUserId}'] <c:if test="${!status.last}" >,</c:if> </c:forEach> ]; // Array data for the grids </ script> <h1>Alerts</h1> <div id="subscription-alert-grid"></div>


Reply With Quote