Kendo ui 剑道网格-分组和逻辑

Kendo ui 剑道网格-分组和逻辑,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个关于剑道格网和分组的问题——我想在对格网进行分组时加入一些逻辑。我需要按州对地址进行分组,如果州为空,则按国家分组。这可行吗?谢谢。您可以创建一个隐藏列,其中包含state is available or country,然后将数据源设置为按该列分组: var jsondata = [ {City : "Houston",State : "Texas",Country : "USA"}, {City : "New York",State : "New York",Count

我有一个关于剑道格网和分组的问题——我想在对格网进行分组时加入一些逻辑。我需要按州对地址进行分组,如果州为空,则按国家分组。这可行吗?谢谢。

您可以创建一个隐藏列,其中包含state is available or country,然后将数据源设置为按该列分组:

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 }
        ]
    });
});
var jsondata=[
{城市:“休斯顿”,州:“德克萨斯”,国家:“美国”},
{城市:“纽约”,州:“纽约”,国家:“美国”},
{城市:“奥斯汀”,州:“德克萨斯”,国家:“美国”},
{城市:“伦敦”,州:,国家:“英国”},
{城市:“曼彻斯特”,州:,国家:“英国”},
{城市:“巴黎”、州:“法国”}
]; 
对于(var i=0;i


您可以创建一个隐藏列,该列的状态为“在其他国家/地区可用”,然后将数据源设置为“按该列分组”:

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 }
        ]
    });
});
var jsondata=[
{城市:“休斯顿”,州:“德克萨斯”,国家:“美国”},
{城市:“纽约”,州:“纽约”,国家:“美国”},
{城市:“奥斯汀”,州:“德克萨斯”,国家:“美国”},
{城市:“伦敦”,州:,国家:“英国”},
{城市:“曼彻斯特”,州:,国家:“英国”},
{城市:“巴黎”、州:“法国”}
]; 
对于(var i=0;i


感谢您的回复-我们有一个XML数据源-它也可以使用吗?@ElizabethM42,这将适用于任何数据源类型。对于XML,您创建隐藏列的代码需要修改。感谢您的回复-我们有一个XML数据源-它也可以使用吗?@ElizabethM42,这将适用于任何数据源类型。对于XML,需要修改创建隐藏列的代码。