需求:datagrid中有一列是超链接,点击超链接弹出dialog,dialog里面有datagrid,datagrid显示被点击的超链接所在的行的行数据。
难点:1.当点击超链接时,getselected属性无法正确获取行数据。
2.当获取的行数如何加载到弹出的dialog的datagrid中。
解决:
/*初始化订单详情的数据表格*/
$('#tt').datagrid({
title: '订单查询',
width: 900,
height: 'auto',
singleSelect:true,
pagination:true,
columns:[[
{field:'orderCode',title:'订单号',width:230},
{field:'custName',title:'用户名',width:80},
{field:'orderStatus',title:'订单状态',width:50,align:'right'},
{field:'tradeTotal',title:'订单金额',width:80,align:'right'},
{field:'num',title:'总注数',width:80},
{field:'orderType',title:'订单类型',width:60,align:'center'},
{field:'submitTime',title:'订单时间',width:120,align:'center'},
{field:'awardStatus',title:'开奖状态',width:50,align:'center'},
{field:'id',title:'投注详情',width:60,align:'center',formatter: function(value, rowData, rowIndex){
return "<a href='#' οnclick=openDialog('"+rowIndex+"')>投注详情</a>";
}}
]]
});
/*初始化"弹框"的数据表格*/
$('#tdialog').datagrid({
title: '订单详情',
width: 800,
height: 'auto',
singleSelect:true,
columns:[[
{field:'orderCode',title:'订单号',width:230},
{field:'custName',title:'用户名',width:80},
{field:'orderStatus',title:'订单状态',width:50,align:'right'},
{field:'tradeTotal',title:'订单金额',width:80,align:'right'},
{field:'num',title:'总注数',width:80},
{field:'orderType',title:'订单类型',width:60,align:'center'},
{field:'submitTime',title:'订单时间',width:120,align:'center'},
{field:'awardStatus',title:'开奖状态',width:50,align:'center'}
]]
});
});
function openDialog(rowIndex){
var a = $('#tt').datagrid('selectRow',rowIndex);
var row = $('#tt').datagrid('getSelected'); //解决问题1
$('#dag').dialog('open').dialog('setTitle','订单详情');
console.info(row);
$('#tdialog').datagrid('loadData',[row]);//加载成功 //解决问题2
}
如果有其他看法或者观点,望各位指教,谢谢。
如果有说错的,也希望各位指出,谢谢。