dgrid/extensions/ColumnHider

require(
    [
      "dojo/_base/declare", 
      "dgrid/OnDemandGrid", 
      "dgrid/extensions/ColumnHider"
    ], function(declare, OnDemandGrid, ColumnHider){
    var grid = new (declare([OnDemandGrid, ColumnHider]))({
        columns: {
            col1: {
                label: "Column 1",
                hidden: true //表格初始化时该列被隐藏,但是可以打开菜单,勾选对应那一列又可以恢复显示
            },
            col2: {
                label: "Column 2",
                unhidable: true //该列不会显示在菜单中,即表格初始化之后也不能被隐藏
            },
            col3: "Column 3"
        }
    }, "grid");
    // ...
});


事件:勾选弹出框中对应的项,列显示和隐藏时会触发一个事件 "dgrid-columnstatechange"。

		grid.on("dgrid-columnstatechange", function(grid, column,hidden) {
			console.dir(arguments); //可以显示参数的具体信息
		});

应用场景:某个报表功能复杂,列项比较多,并且是大多数用户并不关心的数据,那么可以通过ColumnHider隐藏那些列项。更近一步,我们用它可以做权限控制,不同权限的人看同一个报表的数据是不一样的。

你可能感兴趣的:(权限控制,dgrid,ColumnHider)