我在我的视图中显示了一个igGrid,每行都启用了编辑和删除功能。
我想根据记录显示编辑和删除按钮。根据列数据,某些行将同时具有“编辑”和“删除”按钮,而其他行只能具有“编辑”或“删除”按钮。我希望在渲染网格时控制这些按钮,这样用户就不会看到任何不适用的按钮。
请指导我如何在igGrid中实现此功能以及我应该调用哪个事件?
答案 0 :(得分:3)
实际上有一些方法可以做到这一点,但我认为最简单的方法是使用Conditional Templates(行或特定列)。使用它们可以评估其他列的值并基于该渲染按钮。我从column template sample开始,并为编辑添加了另一列:
$("#grid").igGrid({
//...
columns : [
{
headerText : "",
key : "Delete",
dataType : "string",
width : "10%",
unbound : true,
template : "{{if ${MakeFlag} }}<input type='button' onclick='deleteRow(${ProductID})' value='Delete' class='delete-button'/>{{/if}}"
}
//...
]
});
jSFiddle:http://jsfiddle.net/damyanpetev/dVLrA/
如果您评估的唯一目的是启用按钮的标志,则可以在您评估的实际列上使用此模板。如果您想要更多灵活性或使用多个连续条件将两个按钮放在一列中,您可以使用jsRender,如下所示:http://jsfiddle.net/damyanpetev/85ZGS/
注意:如果模板需要评估不会绑定到列的值,请将“localSchemaTransform”设置为false。
文档链接供进一步阅读: