Я пытаюсь реализовать igHierarchicalGrid
для своего приложения, которое может иметь несколько уровней в зависимости от требований пользователя. Мне нужно использовать функцию Load on Demand
без oData, чтобы я мог использовать ответ JSON сервера, анализировать его и отображать результаты в дочерней сетке.
Проблемы, с которыми я сталкиваюсь, это How to use my custom ajax call
, из которых я могу отправить некоторые данные на сервер, не требуя первичного ключа, и получить результат в желаемом формате, чтобы была загружена дочерняя сетка, соответствующая этой сетке.
Я не смог найти пример для загрузки по запросу без OData в Jquery.
Я попытался указать следующие параметры:
// Самый верхний уровень
var hierarchicalGridConfigs={
width: "100%",
initialDataBindDepth: 0,
dataSourceType: "json",
dataSource: jsonData,
oData:false,
rest:false,
autoGenerateLayouts: false,
primaryKey:"id",
columns:getDefaultColumns(),
autoGenerateLayouts: false,
columnLayouts: getColumnLayouts(0,configs,levels-1)
};
Для детских уровней:
function getColumnLayouts(i,configs,levels){
var layouts=[];
var layout1={};
/*layout1["name"]="childReports";*/
/*layout1["dataSourceType"]= "json";*/
layout1["dataSource"]="myURL";
layout1["type"]="remoteUrl";
layout1["autoGenerateColumns"]= false;
layout1["odata"]= false;
layout1["rest"]= false;
layout1["primaryKey"]="id";
layout1["columns"]=configs[i];
if(i<levels){
layout1["columnLayouts"]=getColumnLayouts(++i,configs,levels);
}
layouts.push(layout1);
return layouts;
}
Но для дочерних столбцов он принимает URL-адрес непосредственно как строку, которая, как предполагается, является JSON.
Как я могу сделать свой собственный вызов Ajax и как я могу передать параметры из родительской строки в этом запросе.