2015-10-27 92 views
1

我有一个关于Kendo网格和分组的问题 - 我想在分组网格时加入一些逻辑。我需要按状态分组地址,如果状态为空,则按国家分组。这是可行的吗?谢谢。Kendo网格 - 分组和逻辑

回答

0

您可以创建一个隐藏的列,具有处于可用状态,否则国家,然后由该列设置数据源到组:

var jsondata = [ 
    {City : "Houston",State : "Texas",Country : "USA"}, 
    {City : "New York",State : "New York",Country : "USA"}, 
    {City : "Austin",State : "Texas",Country : "USA"}, 
    {City : "London",State : "",Country : "UK"}, 
    {City : "Manchester",State :"",Country : "UK"}, 
    {City : "Paris",State : "",Country : "France"} 
]; 

for (var i=0; i < jsondata.length; i++){ 
    var stateCountry = jsondata[i].State ? jsondata[i].State : jsondata[i].Country; 

    jsondata[i].Group = stateCountry; 
} 

$(document).ready(function() { 
    $("#grid").kendoGrid({ 
     dataSource: { 
      data: jsondata, 
      schema: { 
       model: { 
        fields: { 
         City: { type: "string" }, 
         State: { type: "string" }, 
         Country: { type: "string" }, 
        } 
       } 
      }, 
      group: { 
       field: "Group", 
       dir: "asc" 
      } 
     }, 
     groupable: false, 
     scrollable: true, 
     columns: [ 
      { field: "City" }, 
      { field: "State" }, 
      { field: "Country" }, 
      { field: "Group", title: "State/Country", hidden: true } 
     ] 
    }); 
}); 

DEMO

+0

感谢您的回复 - 我们有一个XML数据源 - 它也可以工作吗? – ElizabethM42

+0

@ ElizabethM42,这将适用于任何数据源类型。对于XML,您需要修改创建隐藏列的代码。 – ezanker