easyui datagrid-detailview.js 子数据表显示BUG

正常情况下是正常的,如果这个数据表又添加单元格编辑功能就会出现子数据表有些时候不显示  渲染行的时候没有渲染子数据表

但收缩和展开显示的数据时正常的。

onClickCell函数里

if (endEditing()){
			$('#dataGrid').datagrid('selectRow', index)
					.datagrid('editCell', {index:index,field:field});
			editIndex = index;
				var expander = $('#dataGrid').datagrid('getExpander', index);
				if(expander.hasClass('datagrid-row-collapse')){
					console.log("dataGrid before index:"+index);
					$('#dataGrid').datagrid('collapseRow',index); //收缩
					$('#dataGrid').datagrid('expandRow',index);
				}
		}

先判断当前行是否展开的,是展开的则关闭在展开  避免出现子数据表显示问题


然后再onExpandRow 和onCollapseRow记录展开的行,在

onExpandRow 

for(var i in tempData){
						var lastExpander = $('#dataGrid').datagrid('getExpander', i);
						if(lastExpander.hasClass('datagrid-row-collapse')){
							var obj = $('#dataGrid').datagrid('getRowDetail',tempData[i]);
							var divObj = obj.children()[0];
							if(divObj.textContent==''){
								$('#dataGrid').datagrid('collapseRow',tempData[i]); //收缩
								$('#dataGrid').datagrid('expandRow',tempData[i]);
							}
						}
					}

判断div的内容是否为空  为空  则关闭在展开

你可能感兴趣的:(easyui datagrid-detailview.js 子数据表显示BUG)