【发布时间】:2018-04-16 02:44:52
【问题描述】:
我是 ExtJs 的新手,我正在使用 ExtJs4。
现在如下图所示,有一个名为关键字的文本字段,我要做的是当我点击按钮时,它会将textfield的数据传递给servlet并在grid中显示结果记录。
现在我不知道该怎么做。我正在接收来自 servlet 的 JSON 数据响应,但不知道如何重新加载存储和刷新网格。
以下是我的商店和网格的代码。
Ext.define("Post", {
extend: 'Ext.data.Model',
proxy: {
type: 'ajax',
url: '/ezdi/searchServlet',
method: 'POST',
reader: {
type: 'json',
root: 'rows'
//,totalProperty: 'totalCount'
}
},
fields: [{
name: 'docid',
mapping: 'docid'
}, {
name: 'mrn',
mapping: 'mrn'
}, {
name: 'fname',
mapping: 'fname'
}]
});
var gridDataStore = Ext.create('Ext.data.Store', {
model: 'Post'
});
// Data store for grid end
Ext.define('Ezdi.Grid', {
extend: 'Ext.grid.GridPanel',
alias: 'widget.ezdigrid',
initComponent: function() {
var config = {
store: gridDataStore,
columns: [{
header: "DocID",
width: 100,
sortable: true,
dataIndex: 'docid'
}, {
header: "MRN",
width: 100,
sortable: true,
dataIndex: 'mrn'
}, {
header: "FirstName",
width: 100,
sortable: true,
dataIndex: 'fname'
}],
viewConfig: {
forceFit: false,
autoLoad: false
},
loadMask: true
};
}
});
【问题讨论】: