下一个剑道问题。
我知道如何在Main / Mastergrid中展开一行但是如何在行展开后获取detailGrid?
使用以下内容展开行:
function dataBound(e){
...
$("#gridID").data("kendoGrid").expandRow(row);
}
展开后,我想在此detailGrid中找到一个项目。
行扩展后是否有事件? 不调用detailgrid上的事件数据绑定!
感谢您的帮助
答案 0 :(得分:0)
主网格:
<kendo:grid name="gridMain" detailTemplate="detailGrid" detailExpand="detailExpand" dataBound="expand" >
</kendo:grid>
详情网格:
<kendo:grid name="detailGrid_#=ID#" detailExpand="detailExpand">
</kendo:grid>
JS主数据包:
function expand(e){
var id= ${param.id}+"";
$.each(e.sender.dataSource.data(), function (idx, elem) {
if (elem.ID == id) {
index = Math.floor(idx / e.sender.dataSource.pageSize() + 1);
if ( index != e.sender.dataSource.page() ) {
e.sender.dataSource.page(index);
var row = $("#gridMain")
.data("kendoGrid")
.tbody
.find("tr[data-uid='" + elem.uid + "']");
$("#gridMain").data("kendoGrid").expandRow(row);
}
}
});
}
JS DetailGrid detailExpand:
function detailExpand(e){
console.log("detailExpand");
console.log(e);
//where is the detail Datasource ?
}
Console.log输出detailExpand:
Object{
Object detailRow{..}
Object masterRow{..}
Object sender{..}
}
从发件人处获取主数据源但在哪里获取详细数据源