【问题标题】:Call a JS function in column of a kendo grid在剑道网格的列中调用 JS 函数
【发布时间】:2017-10-04 13:29:08
【问题描述】:

我有一个多列多行的剑道网格。我希望最后一列显示计算数据。我想让一个 AJAX 方法获取 ID 并从数据库中获取一些数据并将其显示在此列(所有行)中。我该怎么做?

var grid = $("#grid").kendoGrid({
  dataSource: ds,
  columns: [{
    field: 'ID',
    title: '#',
    hidden: true
  }, {
    title: 'Test',
    filterable: false,
    width: "130px",
    ClientTemplate: "#=MyMethod(ID)#"
  }]
}).data("kendoGrid");

function MyMethod(ID) {
  var returnData = 0;
  $.get('@Url.Action("Action", "Controller")', {
    Id: ID
  }, function(response) {
    returnData = response;
  });
  return returnData;
}

【问题讨论】:

    标签: javascript c# jquery asp.net-mvc kendo-grid


    【解决方案1】:

    我建议你不要这样做。

    我这么说的原因是因为您会为每一行触发一个 ajax 调用,并且可能有很多行,这可能意味着在您向用户显示某些内容之前需要很长时间。

    您很可能有一个数据库调用来返回数据。在那一次调用中,进行任何需要的计算,如果它只是一个总数,数据库本身可以以非常快速的方式处理这个问题。所以在那里进行计算,将计算的字段作为数据集中的额外字段返回,然后您的 UI 只需显示已经计算的字段。

    它会更快,用户体验也会更好。

    【讨论】:

    • 好的,但我的代码有什么问题?我该怎么做?
    • 我刚刚告诉你如何更新你的数据库调用以返回一个额外的计算字段。那你就不需要在网格中调用任何东西我不知道我能说清楚多少。
    • 好的,如果我想在列中调用方法,我该怎么做?有没有办法做到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多