wxpython dataviewmodel_SlickGrid:使用DataView而不是原始数据的简单示例?

njr101..

18

关键部分是使用数据视图作为数据源初始化网格,连接事件,以便网格响应数据视图中的更改,最后将数据提供给数据视图.它应该看起来像这样:

dataView = new Slick.Data.DataView();

grid = new Slick.Grid("#myGrid", dataView, columns, options);

// wire up model events to drive the grid

dataView.onRowCountChanged.subscribe(function (e, args) {

grid.updateRowCount();

grid.render();

});

dataView.onRowsChanged.subscribe(function (e, args) {

grid.invalidateRows(args.rows);

grid.render();

});

// When user clicks button, fetch data via Ajax, and bind it to the dataview.

$('#mybutton').click(function() {

$.getJSON(my_url, function(data) {

dataView.beginUpdate();

dataView.setItems(data);

dataView.endUpdate();

});

});

请注意,您不需要每次都创建新网格,只需将数据绑定到数据视图即可.

如果要实现排序,还需要告诉dataview在网格收到排序事件时进行排序:

grid.onSort.subscribe(function (e, args) {

sortcol = args.sortCol.field; // Maybe args.sortcol.field ???

dataView.sort(comparer, args.sortAsc);

});

function comparer(a, b) {

var x = a[sortcol], y = b[sortcol];

return (x == y ? 0 : (x > y ? 1 : -1));

}

(这个基本排序取自SlickGrid示例,但您可能希望实现本地生成的东西;例如,不使用全局变量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值