extjs7的grid如何新增行再实时过滤
时间: 2024-05-06 13:16:29 浏览: 152
要实现在ExtJS 7的Grid中新增行并实时过滤,可以按照以下步骤操作:
1. 在Grid中设置store的autoSync属性为false,这样新增行时不会自动同步到后台数据库。
2. 在Grid中添加一个toolbar或button,用于触发新增行的操作。
3. 在按钮的handler函数中,先通过Grid的getStore()方法获取store对象,然后调用store的insert方法添加一行数据。
4. 在添加数据之后,还需要手动触发Grid的刷新操作,以便实时过滤数据。可以调用Grid的getView()方法获取视图对象,然后调用视图的refresh方法刷新Grid的显示内容。
下面是一个示例代码:
```javascript
Ext.create('Ext.grid.Panel', {
store: {
autoSync: false,
fields: ['name', 'age'],
data: [
{name: 'Alice', age: 20},
{name: 'Bob', age: 30}
]
},
columns: [
{text: 'Name', dataIndex: 'name'},
{text: 'Age', dataIndex: 'age'}
],
tbar: [
{
text: 'Add Row',
handler: function() {
var store = this.up('grid').getStore();
store.insert(0, {name: '', age: null});
this.up('grid').getView().refresh();
}
}
]
});
```
在这个示例中,我们在Grid中添加了一个“Add Row”按钮,点击该按钮会在Grid的第一行插入一个空的数据行。由于autoSync属性被设置为false,这个数据行不会自动同步到后台数据库。在添加数据之后,我们手动调用了Grid的refresh方法来刷新视图,以便实时过滤数据。
阅读全文