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

来源:互联网 发布:java的socket如何部署 编辑:程序博客网 时间:2024/04/28 01:08

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第一行。其实这种方式也不是很完美,算是个笨方法,等遇到更好的方法再一起探讨吧。



0 0
原创粉丝点击