Передача двух параметров в древовидное представление подуровня с помощью HierarchicalDataSource

Как я могу отправить 2 параметра в дерево подуровня.

Образец:

var data2 = {
  transport: {
    read: {
      url: function(options) {
        console.log(options);
        return kendo.format("/url2/", [options.param1, options.param2]);
      },
      dataType: "jsonp"
    }
  },
  schema: {
    model: {
      id: "param4",
      fields: {
        param4: {type: "number"},
        param5: {type: "string"},
      },
      hasChildren: "param4",
    }
  }
};
var data1 = new kendo.data.HierarchicalDataSource({
  transport: {
    read: {
      url: "/url/",
      dataType: "jsonp"
    }
  },
  schema: {
    model: {
      id: "param1",
      fields: {
        param1: {type: "number"},
        param2: {type: "number"},
        param3: {type: "string"},
      },
      hasChildren: "param1",
      children: data2
    }
  }
});

$("#treeview").kendoTreeView({
  dataSource: data1,
  dataTextField: ["param3", "param5"]
});

Когда я отлаживаю код только с console.log(options); параметрами, которые проходят, это param1. Как я могу получить param2?

В демонстрациях KendoUi нет образца или документации, есть ли простой способ или я должен просто регистрировать все выбранные пути для этого?


person Brend    schedule 07.01.2013    source источник
comment
Я согласен с решениями @BurkeHolland. Вы должны иметь в виду, что только id из data1 принимается в options в функции url из data2. Я также рекомендую вам просмотреть ваши model, поскольку довольно странно, что param1 и param4 используются как id, а также как поля для определения уровня дерева hasChildren. Ты уверен насчет этого? Предполагая, что id должно быть уникальным, как указать, что у узла нет потомков, установив для него id значение 0? Кроме того, hasChildren следует рассматривать как boolean.   -  person OnaBai    schedule 08.01.2013


Ответы (1)


Вы получаете идентификатор элемента, который можно использовать для получения объекта из источника данных.

var item = data1.get(options.param1);

Вот пример...

http://jsbin.com/alibem/1/edit

person Burke Holland    schedule 07.01.2013