如何访问剑道网格页脚模板值

Posted

技术标签:

【中文标题】如何访问剑道网格页脚模板值【英文标题】:How to access the kendo grid footer template value 【发布时间】:2013-08-11 06:51:12 【问题描述】:

我已经使用 kendo 工具和 asp.net mvc4 开发了一个 Web 应用程序..

下面是我正在使用的网格的屏幕截图,我需要在“总库存”列下获取页脚的值。据此,总价值为 74,050.85 美元。

我需要将此值分配给文本框或变量,并在其他地方使用它,但在线资源没有积极的反馈..

谁能告诉我如何从页脚模板中获取值..

【问题讨论】:

【参考方案1】:

您可以通过设置footerTemplate 来获取页脚聚合值(例如总计)。该页脚模板可以执行任意代码,例如更新文本框值。

另一种选择是使用jQuery来获取页脚的文本:

var totalText = $("#grid .k-footer-template").text();

【讨论】:

非常感谢先生.. 它工作得很好.. 顺便请告诉我如何手动设置一个值到页脚模板以及上面这行代码可以获取值..【参考方案2】:

我猜您在 kendogrid 中使用聚合函数来计算总库存[所以您的总库存为 74,050.85 美元..],对吗??

如果是,则 这应该是您问题的最佳答案。 例如,您的 kendogrid id = 'gridtotal',以及聚合的字段 = total_stock

所以如果你想得到总数,你就这样做

    var total = $("#gridtotal").data().kendoGrid.dataSource.aggregates().total_stock.sum;

如果您想了解更多信息,请点击此处 http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-group.aggregates

【讨论】:

我认为这是更准确的答案。因为,这将给出原始金额值而不是格式化的页脚 html【参考方案3】:

在网格列定义下,添加

footerAttribute: "id":"total-stock"

这将为单元格添加一个 id。然后就可以直接用jquery来拉取了:

var totalStock = $("#total-stock").text().split(":")[1]

如果你想提取原始数值,你也可以通过解析数字来得到它,或者你可以将它作为一个属性分配给单元格。

footerAttribute: "id":"total-stock", "data-value": sum 

以后再参考

var totalStock = $("#total-stock").data("value")

【讨论】:

谢谢你的回答先生..无论如何告诉我手动设置页脚模板值的方法(总计)..【参考方案4】:

桑西,

你想好设置页脚模板总计的值了吗?

这是我用的。

var totalWeight = 0;
var theGridData = $(gridSelector).data("kendoGrid").dataSource.data();
$(theGridData).each(function (index, item) 
    totalWeight += item.Weight;
);
$('#total-stock').text("Total: " + totalWeight); 

希望这会有所帮助。

【讨论】:

以上是关于如何访问剑道网格页脚模板值的主要内容,如果未能解决你的问题,请参考以下文章

如何在剑道模板中动态设置列

如何使用剃刀语法在剑道网格列模板中调用 javascript 函数

剑道网格 - 如何在添加/编辑子行时访问父行模型(详细网格)

条件模板剑道ui

剑道网格模板内的剑道按钮数据单击不起作用

剑道网格列模板中的条件