2015-06-09 43 views
0

我想基于某些条件隐藏剑道网格数据源的字段。尝试过的属性,隐藏,启用---不工作。代码如下所示。剑道网格数据源字段隐藏属性

return new kendo.data.DataSource({ 
    schema: { 
    model: { 
    fields: { 
     Id: { type: 'number', nullable: false, editable: false, defaultValue:null}, 
     Frist Name: {type: 'string', nullable: false, editable: false, defaultValue: 'fTest'}, 
     Last Name: {type:'string', nullable: false, editable: true, defaultValue: 'LTest'}, 
     BirthDate: {type:'date', nullable: false, editable: true}, 
     Type: {type:'string', nullable: false, editable: true}, 

     Field1: {type:'string', hidden:true, defaultValue: ''}, 

我想隐藏Field1,如果满足一些条件。任何帮助将不胜感激。

回答

0

应用 “隐藏的:真” 列[{..}]部分而不是字段:{..}

添加隐藏的:真实隐藏柱网定义期间

$("#gridName").kendoGrid({ 
    columns: [ 
    { field: "id", hidden: true }, 
    { field: "name" } 
    ], 
    dataSource: [ { id: 1, name: "Jane Doe" }, { id: 2, name: "John Doe" } ] 
}); 

下面是隐藏列

隐藏通过CSS选择一列某些方面

$("#gridName").find("table th").eq(1).hide(); 

隐藏由索引的列

var grid = $("#gridName").data("kendoGrid"); 
grid.hideColumn(1); 

隐藏由字段的列

var grid = $("#gridName").data("kendoGrid"); 
grid.hideColumn("Name"); 

隐藏通过柱对象引用列

var grid = $("#gridName").data("kendoGrid"); 
grid.hideColumn(grid.columns[0].columns[1]);