【问题标题】:Different title and update button name for Add and Edit popup in Kendo UI Grid (Telerik 2018)Kendo UI Grid (Telerik 2018) 中添加和编辑弹出窗口的不同标题和更新按钮名称
【发布时间】:2019-01-16 03:15:56
【问题描述】:

Q1:由于“添加新记录”和“编辑”弹出标题是相同的“编辑”(Telerik 演示网址:https://demos.telerik.com/aspnet-mvc/grid/editing-popup),尝试使用以下代码更改标题。

$(".k-grid-edit").on("click", function () {
    $(".k-window-title").text("Edit");
    $(".k-grid-update").text("Update");
    console.log("Edit");
});
$(".k-grid-add").on("click", function () {
    $(".k-window-title").text("Create");
    $(".k-grid-update").text("Save");
    console.log("New");
});

控制台记录了相应的文本,但没有更新标题和更新按钮的文本。

Q2:添加和编辑调用 Web API。即使调用成功后,也会出现弹出窗口,并且不会重新加载网格。

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri(ConfigurationManager.AppSettings["KpiApiUrl"]);
    var postTask = client.PostAsJsonAsync("users", userAccess);
    postTask.Wait();

    var result = postTask.Result;
    if (result.IsSuccessStatusCode)
    {
        var readTask = result.Content.ReadAsStringAsync();
        readTask.Wait();
        if (readTask.Result.Trim('"').Equals("Success"))
        {
            RouteValueDictionary routeValues = this.GridRouteValues();
            return RedirectToAction("GetUsers", routeValues);
        }
    }
    return View("GetUsers", LoadUser());
}

请在这些方面给我建议。

Version Info Telerik 2018.1.221.545 MVC 5.2 .NET 4.6

【问题讨论】:

    标签: c# kendo-ui telerik kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    最简单的方法是绑定到网格的编辑事件,这将允许您轻松更改标题。

    我提供了一个道场,向您展示如何做到这一点。 https://dojo.telerik.com/anoceSux

    我只是访问了正在编辑的项目的“模型”,如果它被认为是新的,那么将标题更改为创建,否则我们知道它是一个存在的项目,所以只需在标题中使用产品名称进行编辑.

    至于您的 API 没有使用新数据重新加载网格,这是因为您从外观上返回了 view,而不是网格正在寻找的预期 JSON 对象DataRequestResult 对象,或者您已经映射了您的数据。假设您将 DataSourceRequest 对象发送/绑定到 API 控制器,那么您应该返回如下内容:

    public JsonResult SomeAction([DataSourceRequest] DataSourceRequest request, T Model){
     ..do some things here....... 
     return Json(model.ToDataSourceResult(request, ModelState)); 
    
    }
    

    T 是您正在更新/创建的项目的模型

    如果有任何遗漏或需要扩展,请告诉我,我会相应地更新答案。

    【讨论】:

    • 在 MVC 的 UI 中,没有 Edit 选项,所以我修改为 .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("User").Window(q => q.Title (“添加/编辑用户”)))
    • 有一个编辑选项,因为我以前使用过它。这是我之前为类似问题提供的答案stackoverflow.com/a/30107594/2517436,然后您可以应用我在dojo中提供的代码来控制添加/编辑标题。
    • 谢谢。可以通过 .Events(e => { e.DataBound("usrList_DataBound"); e.Edit("usrList_Edit"); }) 设置不同的标题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多