2017-03-21 147 views
0

使用自定义命令打开具有详细数据的剑道窗口。喜欢这里描述:将数据从剑道网格加载到剑道窗口中

http://demos.telerik.com/kendo-ui/grid/custom-command

我通过PHP脚本F.E.加载网格作为JSON数据employees.php。

在该示例中,通过单击“查看详细信息”窗口将加载来自同一数据源的数据。

我需要的是从另一个php/json文件加载详细数据。我发现它应该使用“刷新”方法,但我没有得到它的工作。

有人可以帮我吗?

UPDATE

感谢@Karthikeyan我的代码现在看起来像这样:

 <script> 
... function showDetails(e) { 
    e.preventDefault(); 
    var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 
    var dataItemID = dataItem.AK_ID; 
    $.getJSON('data/akDetail.php?ak=' + dataItemID + '', function (data) { 
     wnd.content(detailsTemplate(data)); 
     wnd.center().open(); 
    }); 
} 
</script> 
<script type="text/x-kendo-template" id="template"> 
<div id="details-container"> 
    <h2>#= title_dataitem #</h2> 
</div> 
</script> 

剑道窗口不开,我得到的铬控制台的错误:“未捕获的ReferenceError:title_dataitem未定义“

回答

0

在演示网格中,行wnd.content(detailsTemplate(dataItem));将模板与当前行的数据绑定。你可以做,而不是像

function showDetails(e) { 
    e.preventDefault(); 
    var dataItem = this.dataItem($(e.currentTarget).closest("tr")); 
    $.getJSON('/dataSource.php', { param1: dataItem.param1, param2: dataItem.param2 }, function (data) { 
     wnd.content(renderTemplate(data)); 
     wnd.center().open(); 
    }); 
} 

的renderTemplate方法可以使用从服务器接收到的数据生成HTML标记,并会被人抛弃的窗口中的内容。

更新: renderTemplate方法既可以是需要akDetail.php调用的数据的kendo模板,也可以是返回可用作模式窗口内容的HTML标记的自定义实现。例如,

function renderTemplate(dataItem) { 
    var markup = $('<div id="details-container"> ' + 
         '<h2 class="firstName"></h2> ' + 
         '<em class="title"></em> ' + 
         '<dl> ' + 
          '<dt class="city"></dt> ' + 
          '<dt class="dob"></dt> ' + 
         '</dl> ' + 
        '</div>'); 
    markup.find('h2.firstName').html(dataItem.firstName); 
    markup.find('em.title').html(dataItem.title); 
    markup.find('dt.city').html(dataItem.city); 
    markup.find('dt.dob').html(kendo.toString(dataItem.dob, "MM/dd/yyyy")); 
} 
+0

谢谢,什么是renderTemplate方法?在kendo ui文档中找不到它,或者它是相同的: 'detailsTemplate = kendo.template($(“#template”)。html());' – tbr

+0

请参阅我的问题中的更新 – tbr