Javascript 循环以读取IGHierarchycalGrid中的所有行
我需要循环读取包含子项的所有行以检查复选框的状态,在此Javascript 循环以读取IGHierarchycalGrid中的所有行,javascript,jquery,infragistics,ignite-ui,Javascript,Jquery,Infragistics,Ignite Ui,我需要循环读取包含子项的所有行以检查复选框的状态,在此igHierarchicalGrid我有4个级别,我找不到逐个读取所有行和子项的最佳方法 我尝试过getInfo(),但此函数只能获取IGHierarchycalGrid function getInfo() { var $grid = $("#grid"); var RowSelected = $("#grid").igHierarchicalGrid("option", "dataSource"); for (var
igHierarchicalGrid
我有4个级别,我找不到逐个读取所有行和子项的最佳方法
我尝试过getInfo(),但此函数只能获取IGHierarchycalGrid
function getInfo() {
var $grid = $("#grid");
var RowSelected = $("#grid").igHierarchicalGrid("option", "dataSource");
for (var i = 0; i < RowSelected.length; i++) {
var cell = $grid.igGrid("cellAt", 1, i)
var $checkBox = $(cell.children[0]);
if ($checkBox.prop("checked")) {
updatetrue(RowSelected[i].FCU_SCREEN_NAME, RowSelected[0].FCU_TYPE, RowSelected[i].FCU_PARENT_NODE, RowSelected[i].FCU_CHAILD_NODE);
} else {
updatefalse(RowSelected[i].FCU_SCREEN_NAME, RowSelected[0].FCU_TYPE, RowSelected[i].FCU_PARENT_NODE, RowSelected[i].FCU_CHAILD_NODE);
}
}
alert("Updated Successfuly");
}
函数getInfo(){code>
var$grid=$(“#grid”);
var RowSelected=$(“#网格”).igHierarchycalGrid(“选项”,“数据源”);
对于(变量i=0;i$("#grid").igHierarchicalGrid({
width: "100%",
maxDataBindDepth: 4,
//initialExpandDepth: 4,
dataSource: Main, //Array of objects defined above
fixedHeaders: true,
primaryKey: "FCU_SNO",
autoGenerateColumns: true,
rowExpanding: function (e, args) {
var grid = args.owner, expandedRows, i;
expandedRows = $(args.parentrow).closest('tbody').find('tr[state=e]');
for (i = 0; i < expandedRows.length; i++) {
grid.collapse(expandedRows[i]);
}
},
width: '99%',
height: '480px',
columns: [
{ headerText: "<br/>Code", key: "FCU_SNO", dataType: "int", width: "5%", hidden: true },
{ headerText: "Status", key: "FCU_SCREEN_FLAG", dataType: "bool", width: "5%", template: mytemplate },
{ headerText: "Screen", key: "FCU_SCREEN_NAME", dataType: "string", width: "40%" },
{ headerText: "FCU_TYPE", key: "FCU_TYPE", dataType: "string", hidden: true },
{ headerText: "FCU_PARENT_NODE", key: "FCU_PARENT_NODE", dataType: "number", hidden: true},
{ headerText: "FCU_CHAILD_NODE", key: "FCU_CHAILD_NODE", dataType: "number", hidden: true},
],
autofitLastColumn: false,
autoGenerateColumns: false,
dataSource: Main,
responseDataKey: "results",
autoCommit: true,
primaryKey: "FCU_SNO",
dataRendered: function (evt, ui) {
ui.owner.element.find("tr td:nth-child(4)").css("text-align", "left");
},
features: featuresList,
//defaultChildrenDataProperty: "Details1",
columnLayouts: [{
name: "Level1",
features: featuresList,
childrenDataProperty: "Details1",
autoGenerateLayouts: true,
autoGenerateColumns: false,
fixedHeaders: true,
primaryKey: "FCU_PARENT_NODE",
columns: [
{ headerText: "<br/>Code", key: "FCU_SNO", dataType: "int", width: "5%", hidden: true },
{ headerText: "Status", key: "FCU_SCREEN_FLAG", dataType: "bool", width: "5%", template: mytemplate },
{ headerText: "Screen", key: "FCU_SCREEN_NAME", dataType: "string", width: "40%" },
{ headerText: "FCU_TYPE", key: "FCU_TYPE", dataType: "string", hidden: true },
{ headerText: "FCU_PARENT_NODE", key: "FCU_PARENT_NODE", dataType: "number", hidden: true },
{ headerText: "FCU_CHAILD_NODE", key: "FCU_CHAILD_NODE", dataType: "number", hidden: true },
],
columnLayouts: [
{
name: "Level2",
features: featuresList,
childrenDataProperty: "Details2",
autoGenerateLayouts: true,
autoGenerateColumns: false,
primaryKey: "FCU_PARENT_NODE",
columns: [
{ headerText: "<br/>Code", key: "FCU_SNO", dataType: "int", width: "5%", hidden: true },
{ headerText: "Status", key: "FCU_SCREEN_FLAG", dataType: "bool", width: "5%", template: mytemplate },
{ headerText: "Screen", key: "FCU_SCREEN_NAME", dataType: "string", width: "40%" },
{ headerText: "FCU_TYPE", key: "FCU_TYPE", dataType: "string", hidden: true },
{ headerText: "FCU_PARENT_NODE", key: "FCU_PARENT_NODE", dataType: "number", hidden: true },
{ headerText: "FCU_CHAILD_NODE", key: "FCU_CHAILD_NODE", dataType: "number", hidden: true },
],
columnLayouts: [
{
name: "Level3",
features: featuresList,
childrenDataProperty: "Details3",
autoGenerateLayouts: true,
autoGenerateColumns: false,
primaryKey: "FCU_PARENT_NODE",
columns: [
{ headerText: "<br/>Code", key: "FCU_SNO", dataType: "int", width: "5%", hidden: true },
{ headerText: "Status", key: "FCU_SCREEN_FLAG", dataType: "bool", width: "5%", template: mytemplate },
{ headerText: "Screen", key: "FCU_SCREEN_NAME", dataType: "string", width: "40%" },
{ headerText: "FCU_TYPE", key: "FCU_TYPE", dataType: "string", hidden: true },
{ headerText: "FCU_PARENT_NODE", key: "FCU_PARENT_NODE", dataType: "number", hidden: true },
{ headerText: "FCU_CHAILD_NODE", key: "FCU_CHAILD_NODE", dataType: "number", hidden: true },
],
}
]
}
]
}]
});
$(“#网格”).igHierarchycalGrid({
宽度:“100%”,
maxDataBindDepth:4,
//初始深度:4,
dataSource:Main,//上面定义的对象数组
fixedHeaders:true,
主键:“FCU_SNO”,
autoGenerateColumns:正确,
行扩展:函数(e,args){
var grid=args.owner,expandedRows,i;
expandedRows=$(args.parentrow).closest('tbody').find('tr[state=e');
对于(i=0;i 代码”,键:“FCU_SNO”,数据类型:“int”,宽度:“5%”,隐藏:true},
{标题文字:“状态”,键:“FCU屏幕标志”,数据类型:“bool”,宽度:“5%”,模板:mytemplate},
{headerText:“Screen”,键:“FCU_Screen_NAME”,数据类型:“string”,宽度:“40%”,
{headerText:“FCU_类型”,键:“FCU_类型”,数据类型:“字符串”,隐藏:true},
{headerText:“FCU\U父节点”,键:“FCU\U父节点”,数据类型:“数字”,隐藏:true},
{headerText:“FCU_CHAILD_节点”,键:“FCU_CHAILD_节点”,数据类型:“number”,隐藏:true},
],
autofitLastColumn:false,
自动生成列:false,
数据来源:Main,
回答:“结果”,
自动提交:对,
主键:“FCU_SNO”,
dataRendered:函数(evt、ui){
ui.owner.element.find(“trtd:nth child(4)”).css(“文本对齐”,“左”);
},
特色:特色列表,
//defaultChildrenDataProperty:“Details1”,
专栏布局:[{
名称:“1级”,
特色:特色列表,
childrenDataProperty:“详细信息1”,
autoGenerateLayouts:正确,
自动生成列:false,
fixedHeaders:true,
primaryKey:“FCU\u父节点”,
栏目:[
{headerText:“
代码”,键:“FCU_SNO”,数据类型:“int”,宽度:“5%”,隐藏:true},
{标题文字:“状态”,键:“FCU屏幕标志”,数据类型:“bool”,宽度:“5%”,模板:mytemplate},
{headerText:“Screen”,键:“FCU_Screen_NAME”,数据类型:“string”,宽度:“40%”,
{headerText:“FCU_类型”,键:“FCU_类型”,数据类型:“字符串”,隐藏:true},
{headerText:“FCU\U父节点”,键:“FCU\U父节点”,数据类型:“数字”,隐藏:true},
{headerText:“FCU_CHAILD_节点”,键:“FCU_CHAILD_节点”,数据类型:“number”,隐藏:true},
],
专栏布局:[
{
名称:“二级”,
特色:特色列表,
childrenDataProperty:“详细信息2”,
autoGenerateLayouts:正确,
自动生成列:false,
primaryKey:“FCU\u父节点”,
栏目:[
{headerText:“
代码”,键:“FCU_SNO”,数据类型:“int”,宽度:“5%”,隐藏:true},
{标题文字:“状态”,键:“FCU屏幕标志”,数据类型:“bool”,宽度:“5%”,模板:mytemplate},
{headerText:“Screen”,键:“FCU_Screen_NAME”,数据类型:“string”,宽度:“40%”,
{headerText:“FCU_类型”,键:“FCU_类型”,数据类型:“字符串”,隐藏:true},
{headerText:“FCU\U父节点”,键:“FCU\U父节点”,数据类型:“数字”,隐藏:true},
{headerText:“FCU_CHAILD_节点”,键:“FCU_CHAILD_节点”,数据类型:“number”,隐藏:true},
],
专栏布局:[
{
名称:“三级”,
特色:特色列表,
childrenDataProperty:“Details3”,
autoGenerateLayouts:正确,
自动生成列:false,
primaryKey:“FCU\u父节点”,
栏目:[
{headerText:“
代码”,键:“FCU_SNO”,数据类型:“int”,宽度:“5%”,隐藏:true},
{标题文字:“状态”,键:“FCU屏幕标志”,数据类型:“bool”,宽度:“5%”,模板:mytemplate},
{headerText:“Screen”,键:“FCU_Screen_NAME”,数据类型:“string”,宽度:“40%”,
{headerText:“FCU_类型”,键:“FCU_类型”,数据类型:“字符串”,隐藏:true},
{headerText:“FCU\U父节点”,键:“FCU\U父节点”,数据类型:“数字”,隐藏:true},
{headerText:“FCU_CHAILD_节点”,键:“FCU_CHAILD_节点”,数据类型:“number”,隐藏:true},
],
}
]
}
]
}]
});
IGHierarchycalGrid API提供了一个名为的方法,该方法将为您提供一个已创建的所有子窗口小部件的数组。
请注意,当用户展开给定行时,父网格会动态创建此类实例,而不是父网格中当前可见的所有行<
let currentChild = $("#hierarchicalGrid").igHierarchicalGrid('allChildrenWidgets')[0]
let currentDataView = child.dataSource.dataView();
// ….
// some custom logic for checking the records….