今天在项目中要在js中读取Store里面的值,查了一下文档有个getAt(int index)的方法。一下就高兴极了,谁我怎么也获取不到值。经过一番的努力,结果在Ext官方论坛上找到了一些蛛丝马迹。原来要在Store的Load函数中使用getAt()才能获得数据。
下面是我的代码:
var infoStore = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'login.do?action=getUserInfo'}),
//autoLoad:true,
reader:new Ext.data.JsonReader(
{root:'userInfo'},
[
{name:'userId', mapping:'USER_ID'},
{name:'userName', mapping:'USER_NAME'},
{name:'passWord', mapping:'PASSWORD'},
])
});
infoStore.on('load',function(){
var infoRecord = infoStore.getAt(0);
if (infoRecord) {
alert(infoRecord.data.userId);
}
}, this);
infoStore.load();
关键要是getAt方法要在Store的load函数中才能获取得到数据。
另一种方法:
//查找到userId=01的indexvar
var index = Store.find('userId', '01');
//查找userId=01的userName
value = Store.getAt(index).get('userName');
分享到:
相关推荐
最常见的方法是使用`getAt`方法结合`get`方法来获取特定记录中的数据。 ```javascript // 获取第0条记录的name值 var name = store.getAt(0).get('name'); // 遍历所有记录 for (var i = 0; i < store.getCount();...
alert(store.getAt(index).get('name')); ``` 2. **使用`findBy()`函数自定义搜索** - `findBy()`函数允许使用自定义函数来进行搜索。 - 语法:`store.findBy(fn, scope, startIndex);` - 参数说明: - `fn`...
formPanel.getForm().loadRecord(store.getAt(0)); // 加载第一条记录 } } }); ``` 通过以上步骤,你可以实现动态加载Ext表单数据的功能。在实际应用中,可能还需要考虑错误处理、数据验证、动态更新等问题,但...
而要删除选项,可以使用`removeAt`方法,传入要删除项的索引: ```javascript comboBox.getStore().removeAt(index); ``` 3. **刷新ComboBox**: 修改store后,需要更新ComboBox以便显示变化。调用`loadData`...
通过`store.getAt(index)`可以获取指定索引的记录,或者通过`store.getById(id)`获取具有特定ID的记录。`Ext.data.Model`是数据模型,通过`modelInstance.get(fieldName)`可以获取模型实例的字段值。 5. **事件监听...
- `grid.getStore().getAt(rowIndex);` 从GridPanel的Store(数据源)中获取当前行的数据记录(Record)。 - `grid.getColumnModel().getDataIndex(columnIndex);` 根据列索引获取该列的字段名。EXT GridPanel的列...
3. 添加数据:使用`store.add()`方法添加新记录,然后调用`store.sync()`同步到服务器: ```javascript var user = new User({name: 'John Doe', email: 'john@example.com'}); store.add(user); store.sync(); ```...
获取对应单元格的数据,需要先用`grid.getColumnModel().getDataIndex(columnIndex)`获取列名,再使用`grid.getStore().getAt(rowIndex).get(columnName)`获取数据。 3. **自定义渲染**: 通过`renderer`属性,...
var order = user.orders().getAt(0); // 获取用户的第一个订单信息 alert('总记录 ' + count + '\n' + user.get('name') + '\n订单总额:' + order.get('total')); } ``` 这段代码演示了如何从Store读取结果,...
console.log('Cell clicked: ' + grid.getStore().getAt(rowIndex).get(grid.getColumnModel().getDataIndex(columnIndex))); }); ``` #### 四、总结 Ext2.0框架的Grid组件功能强大,不仅能够高效地展示各种...
- 修改Store中的数据:你可以直接通过`getAt`方法获取特定索引的记录,然后使用`set`方法来修改其属性。例如,更改第一个记录的名字: ```javascript store.getAt(0).set("name", "Jesse"); ``` 5. **数据变更...
var record = store.getAt(m); x.push(record.get(columns[i])); } res[columns[i]] = x; } Ext.Ajax.request({ url: 'VipRecommendAction_write2Excel.action', params: res, success: function(response...
var record = store.getAt(0); // 获取第一条记录 form.loadRecord(record); // 使用loadRecord方法 ``` 在上述示例中,我们创建了一个User Model,定义了id、name和email三个字段。接着,我们创建了一个Store,...
console.log("2222------>" + xmlStore.getAt(0).get('cmrFileName')); } } ``` 该函数用于检测数据存储是否还在加载过程中。如果仍在加载,则每200毫秒检查一次;如果加载完成,则输出第一个记录的`...
var rec = grid.getStore().getAt(rowIndex); var value = rec.get(grid.getColumnModel().getDataIndex(columnIndex)); rec.set(grid.getColumnModel().getDataIndex(columnIndex), prompt('修改数据:', value))...
若想从Grid中获取特定行的数据,可以使用`Ext.getCmp("GridID").getStore().getAt("行数")`,其中`"GridID"`是Grid组件的ID,`"行数"`是希望获取的行的索引。进一步获取某列的具体值,可以在获取到行的基础上,使用`...
7. **Ext.Element类**:这是EXT中的核心DOM操作类,提供了丰富的DOM操作方法,如`get`、`setStyle`、`on`等。 8. **Ext.DomQuery类**:EXT的CSS选择器引擎,类似于jQuery的Sizzle,可以高效地选取DOM元素。 9. **...
可以使用`store.filter()`方法,或者在store配置中设置`autoFilter: true`,然后监听`keyup`事件来实时更新过滤条件。 ```javascript // 监听搜索框的keyup事件 var searchField = Ext.create('Ext.form.field.Text...
- `Ext.data.MemoryProxy.getAt(index)`: 获取指定索引的数据。 #### 30. Ext.data.ScriptTagProxy 类 (P.25) - **概述**:通过`<script>`标签获取数据。 - **常用方法**: - `Ext.data.ScriptTagProxy.load...
var record = store.getAt(i); if (record.dirty) // 判断记录是否已修改 json.push(record.data); } if (json.length == 0) { Ext.Msg.alert('提示', '没有要保存的数据!'); return; } // 发送Ajax请求...