我在Inline Editable Kendo网格上进行了简单的自定义。
当我添加新记录时,“更新”按钮应显示“插入”,在“编辑”模式下,它应具有默认的“更新”按钮名称。
我知道我可以使用命令替换按钮名称,如下所示
columns.Command(commands =>
{
commands.Edit()
.Text("MyCustomEdit")
.UpdateText("MyCustomUpdate")
.CancelText("MyCustomCancel");
})
但只有在插入新记录的情况下,我该如何实现?
为了更清楚,点击Update
以及点击Cancel
时显示Insert New record
和Edit
按钮(编辑现有网格行)
点击“插入新记录”后,我想将“更新”按钮的文本视为创建,在编辑现有行时,按钮的文本应保持为更新< /强>
插入
开启编辑
答案 0 :(得分:5)
通过在编辑事件中使用以下代码找到方法
function OnEdit(e){
if (e.model.isNew())
{
var update = $(e.container).parent().find(".k-grid-update");
$(update).html('<span class="k-icon k-update"></span>Insert');
}
}
答案 1 :(得分:1)
你可以用这种方式使用jQuery找到你的按钮。例如,如果您想要更改&#34;添加新&#34;的文本,它将基于您的控制器名称和网格调用的函数&#34; Read&#34;操作。说你的控制器是&#34; FlowerController&#34;它的读取功能是&#34; Flower_Read&#34;:
$(document).ready(function() {
$('a[href="/Flower/Flower_Read?grid-mode=insert"]').html('span class="k-icon k-update"></span>Add New Flower');
});
对于行本身的“更新”按钮,您可以执行以下操作:
$('a[href="/Flower/Flower_Read?grid-mode=insert"]').click(function() {
setTimeout(function() {
$('a[class*="k-grid-update"]').html('<span class="k-icon k-update"></span>Create');
}, 500);
});
由于构建DOM的延迟,需要添加超时。