加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dojo小例子(21)grid新增记录放在第一行

发布时间:2020-12-16 21:26:47 所属栏目:百科 来源:网络整理
导读:grid新增记录有很多种方式,store.newItem()通常会把新增记录放在最后面;如果用xhr方式增加记录,再把数据传回grid,或者刷新grid,则新增记录的位置取决于后台数据;或者xhr方式提交,但不再访问后台获取数据,还能把新增记录放到第一行,就可以采用下面这

grid新增记录有很多种方式,store.newItem()通常会把新增记录放在最后面;如果用xhr方式增加记录,再把数据传回grid,或者刷新grid,则新增记录的位置取决于后台数据;或者xhr方式提交,但不再访问后台获取数据,还能把新增记录放到第一行,就可以采用下面这种方式:

首先,可以通过多种方式取得数据,但格式须是数组,假设数组名称是data

var mem = new Memory({data: data});
var store = new ObjectStore({ objectStore: mem });
然后把store给grid


其次,直接操作grid的数据源

var myNewItem = {
    id: (++i),col1: "Mediate",col2: true,col3: 'Newly added values',col4: 8888
};
// 新记录放到数组开头
store.objectStore.data.unshift( myNewItem );
// grid刷新
grid.render();

因为grid的数据源是数组,所以可以方便的进行数组操作,把新增记录放到数组元素的第一位,而数据源的改变会直接反应到grid渲染上,所以新增记录也就理所应当的出现在grid第一行。其实这种方式也不是很完美,算是个笨方法,等遇到更好的方法再一起探讨吧。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读