【问题标题】:Kendo grid - How to use different button texts on Add and Edit?剑道网格 - 如何在添加和编辑上使用不同的按钮文本?
【发布时间】:2014-06-10 12:27:12
【问题描述】:

我要对我的内联可编辑剑道网格进行简单的自定义。

即当我添加新记录时,更新按钮应该显示“插入”,在编辑模式下,它应该具有默认的“更新”按钮名称。

我知道我可以使用如下所示的命令替换按钮名称

columns.Command(commands =>
                {

                    commands.Edit()
                        .Text("MyCustomEdit")
                        .UpdateText("MyCustomUpdate")
                        .CancelText("MyCustomCancel");


                })

但只有在插入新记录的情况下,我怎样才能做到这一点?

为了更清楚起见,我们在点击Insert New record 和点击Edit(编辑现有网格行)时显示UpdateCancel按钮。

点击插入新记录时,我希望看到更新按钮的文本为 Create,而在编辑现有行时,按钮的文本应保持为 Update

插入时

编辑时

【问题讨论】:

  • 我不太明白这个问题...您是在问如何更改“添加”命令上的文本吗?

标签: kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

通过在编辑事件中使用以下代码找到了一种方法

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');
    }
}

【讨论】:

    【解决方案2】:

    您可以通过这种方式使用 jQuery 找到您的按钮。例如,如果您想更改“添加新”的文本,它基于您的控制器名称和网格调用其“读取”操作的函数。假设您的控制器是“FlowerController”,其读取功能是“Flower_Read”:

    $(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有延迟,需要加上超时时间。

    【讨论】:

      猜你喜欢
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多