追问一个问题,请问如何刷新grid中的数据呢?我的数据是从数据库里边读取的,部分代码如下:
{text:'保存',handler:function(){varjsonArray;varmr=store.getModifiedRecords();vardata=n...
{
text: '保存',
handler: function () {
var jsonArray;
var mr = store.getModifiedRecords();
var data = new Array();
for (var i = 0; i < mr.length; i++) {
data.push(mr[i].data);
};
Ext.Ajax.request({
method: 'POST',
url: 'Action.aspx?action=update',
params:
{
jsonArray: Ext.util.JSON.encode(data)
}
},
{ success: function (response) {
Ext.Msg.alert('信息', response.responseText, function () { store.reload(); });
},
failure: function () {
Ext.Msg.alert("错误", "与后台联系的时候出现了问题");
}
},
'data=' + encodeURIComponent(Ext.encode(jsonArray))
);
}
}
获取数据:
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({ url: 'ProjectBaseInfo.aspx' }),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
},
[
{ name: 'ID', type: 'string' },
{ name: 'Name', type: 'string' },
{ name: 'PWD', type: 'string' },
{ name: 'IsDelete', type: 'string' },
{ name: 'EntryDate', type: 'string' }
]
),
pruneModifiedRecords: true,
remoteSort: true
});
var grid = new Ext.grid.EditorGridPanel({
renderTo: 'grid',
autoHeight: true,
store: store,
cm: cm,
sm: sm,
clicksToEditor: 1,
loadMask: { msg: '正在加载数据,请稍侯……' },
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: store,
displayInfo: true,
displayMsg: '显示第{0}条到{1}条记录,一共{2}条',
emptyMsg: "没有记录"
})
谢谢!!!!
哈哈,我知道了,把store.reload()的位置改到'data=' + encodeURIComponent(Ext.encode(jsonArray))前就可以了 展开
text: '保存',
handler: function () {
var jsonArray;
var mr = store.getModifiedRecords();
var data = new Array();
for (var i = 0; i < mr.length; i++) {
data.push(mr[i].data);
};
Ext.Ajax.request({
method: 'POST',
url: 'Action.aspx?action=update',
params:
{
jsonArray: Ext.util.JSON.encode(data)
}
},
{ success: function (response) {
Ext.Msg.alert('信息', response.responseText, function () { store.reload(); });
},
failure: function () {
Ext.Msg.alert("错误", "与后台联系的时候出现了问题");
}
},
'data=' + encodeURIComponent(Ext.encode(jsonArray))
);
}
}
获取数据:
var store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({ url: 'ProjectBaseInfo.aspx' }),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'root'
},
[
{ name: 'ID', type: 'string' },
{ name: 'Name', type: 'string' },
{ name: 'PWD', type: 'string' },
{ name: 'IsDelete', type: 'string' },
{ name: 'EntryDate', type: 'string' }
]
),
pruneModifiedRecords: true,
remoteSort: true
});
var grid = new Ext.grid.EditorGridPanel({
renderTo: 'grid',
autoHeight: true,
store: store,
cm: cm,
sm: sm,
clicksToEditor: 1,
loadMask: { msg: '正在加载数据,请稍侯……' },
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: store,
displayInfo: true,
displayMsg: '显示第{0}条到{1}条记录,一共{2}条',
emptyMsg: "没有记录"
})
谢谢!!!!
哈哈,我知道了,把store.reload()的位置改到'data=' + encodeURIComponent(Ext.encode(jsonArray))前就可以了 展开
2个回答
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
你的问题说的不大清楚
1. 从数据库获得的数据是什么格式,是前面类似json的格式还是处理后的实体集合?如果是实体集合,可以使用JavaScriptSerializer 的Serialize方法转成json格式发送给客户端
2. 如果客户端已经获得了json数据,怎么更新就是js的问题了,我用的是Jquery,貌似和你的不搭,但原理一样,都是获得数据后通过回调函数修改grid的内容(一般是修改指定div的html)
1. 从数据库获得的数据是什么格式,是前面类似json的格式还是处理后的实体集合?如果是实体集合,可以使用JavaScriptSerializer 的Serialize方法转成json格式发送给客户端
2. 如果客户端已经获得了json数据,怎么更新就是js的问题了,我用的是Jquery,貌似和你的不搭,但原理一样,都是获得数据后通过回调函数修改grid的内容(一般是修改指定div的html)
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询