将数据模型元素传递给CellTemplate KoGrid

时间:2015-08-06 08:04:26

标签: ajax knockout.js kogrid

我使用KoGrid来制作我的自定义Ajax网格。我不知道如何将模型元素传递给某些Javascrit方法来生成自定义模板。

我尝试过这样做并且不起作用:

PluginGrid.AjaxUrl("MyControler/GetGrid").Columns( [ { field: "UserName", displayName: "Model", width: "*", cellClass: "text-center", headerClass: "grid_width_270", cellTemplate: PluginHelpers.HtmlUserInformation($parent.entity, true) }, { field: "StatusId", displayName: "Status", width: "*", cellClass: "text-center", headerClass: "text-center" } ]).Show("grid"); });

这实际上是KoGrid的包装器。我想以某种方式将数据模型传递给我的Js方法:

 PluginHelpers.HtmlUserInformation($parent.entity, true) }

当我这样做时,我收到了一些$ parent变量的未定义错误。

请建议,

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案:

<template id="XXX"> <div data-bind="html: PluginHelpers.HtmlUserInformation($parent.entity, true)"> </div> </template>

然后

PluginGrid.AjaxUrl("Controller/GetGrid").Columns( [ { field: "UserName", displayName: "Model", width: "*", cellClass: "text-center", headerClass: "grid_width_270", cellTemplate: $("#XXX").html() }, { field: "StatusId", displayName: "Status", width: "*", cellClass: "text-center", headerClass: "text-center" } ]).Show("grid");

这是我能找到的最佳解决方案......