EasyUI Forum

General Category => Bug Report => Topic started by: TayYeh on October 15, 2012, 02:46:40 AM



Title: datagrid(detailview) can't display new row, when apply method appendRow.
Post by: TayYeh on October 15, 2012, 02:46:40 AM
BUG: datagrid(detailview) can't display new row, when apply method appendRow.
    <script type="text/javascript" src="../../jquery-plugin/jquery-ui-1.8.23.custom/js/jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="../../jquery-plugin/jquery-ui-1.8.23.custom/js/jquery-ui-1.8.23.custom.min.js"></script>
    <script type="text/javascript" src="../../jquery-plugin/jquery-easyui-1.3.1/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="../../jquery-plugin/jquery-easyui-1.3.1/locale/easyui-lang-zh_TW.js"></script>
    <script type="text/javascript" src="../../js/datagrid-detailview.js"></script>

var oDatas = [{id:1,text:'aaa'}]
$('#tt).datagrid('loadData', {
        total: oDatas .length,
        rows: oDatas
});   

... Then
$('#tt).datagrid('appendRow',{id:2,text:'aaa'});
... It can't display , but it have append in datagrid, because...
oDatas = $('#tt').datagrid('getRows');
oDatas length is 2





Title: Re: datagrid(detailview) can't display new row, when apply method appendRow.
Post by: stworthy on October 15, 2012, 06:16:10 AM
Try running the following code to fix this bug:
Code:
	$.fn.datagrid.defaults.finder.getTr = function(target, index, type, serno){
type = type || 'body';
serno = serno || 0;
var state = $.data(target, 'datagrid');
var dc = state.dc; // data container
var opts = state.options;
if (serno == 0){
var tr1 = opts.finder.getTr(target, index, type, 1);
var tr2 = opts.finder.getTr(target, index, type, 2);
return tr1.add(tr2);
} else {
if (type == 'body'){
var tr = $('#' + state.rowIdPrefix + '-' + serno + '-' + index);
if (!tr.length){
tr = (serno==1?dc.body1:dc.body2).find('>table>tbody>tr[datagrid-row-index='+index+']');
}
return tr;
} else if (type == 'footer'){
return (serno==1?dc.footer1:dc.footer2).find('>table>tbody>tr[datagrid-row-index='+index+']');
} else if (type == 'selected'){
return (serno==1?dc.body1:dc.body2).find('>table>tbody>tr.datagrid-row-selected');
} else if (type == 'last'){
return (serno==1?dc.body1:dc.body2).find('>table>tbody>tr[datagrid-row-index]:last');
} else if (type == 'allbody'){
return (serno==1?dc.body1:dc.body2).find('>table>tbody>tr[datagrid-row-index]');
} else if (type == 'allfooter'){
return (serno==1?dc.footer1:dc.footer2).find('>table>tbody>tr[datagrid-row-index]');
}
}
};