dojo之DataGrid 排序问题

    前两天,同事叫我帮忙调查如何不让dojo的datagrid排序。dojo中关于datagrid的资料比较少,本人找到的只有源代码和里面的几个测试例子。

   grid和datagrid在命名空间dojox.grid中。

   方法1:修改grid的canSort方法。

代码:

<div id="myGrid" dojoType="dojox.Grid" canSort="return false;"
                structure="layout" model="model" />

这是最直接的方法。

 

  方法2:修改model中canSort方法。

代码:

<script>

      ......

      ......

       var model = new dojox.grid.data.Table(null, data);

       model.canSort = function(){return false;}

      ......

      ......

</script>

 

<div id="myGrid" dojoType="dojox.Grid"
                structure="layout" model="model" />

 

  方法3:自己实现数据绑定,应用dojox.grid.data.Dynamic模型。

代码:

    <script type="text/javascript">
        function getRow(inRowIndex){
            return ' ' + inRowIndex;
        }
       
        var layoutCountries = [
            // view 0
            { type: 'dojox.GridRowView', width: '20px' },
            // view 1
            { cells: [[{ name: "Row", get: getRow , width: 5}]]}
        ];

    </script>

 

<div id="grid" jsId="grid" dojoType="dojox.Grid" elasticView="2"
     model="dataModel" structure="layoutCountries ">
</div>

这样Row这一列就不能排序。

 

方法4:使用dojox.VirtualGrid而不是dojox.Grid。

 

 

我目前还不知道dojox.VirtualGrid、dojox.grid和dojox.DataGrid之间的区别,哪位朋友知道的话请告诉我一声。

有关定制排序的,可以参考dojox/grid/compat/tests目录下的例子。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值