You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KendoGrid模板函数中正确传递RuleName字段值?

解决KendoGrid模板中传递字段实际值给函数的问题

我之前也踩过这个KendoGrid模板语法的坑!你现在的写法问题在于,直接把ruleRadioActive(<MyValueHere>)写在template里时,代码会在Grid初始化阶段就执行这个函数,而不是在每行渲染时传入当前行的实际字段值。而且用"#= RuleName #"的方式其实是把字符串"#= RuleName #"直接传进去了,没有触发Kendo的模板解析。

正确的做法是把整个函数调用包裹在Kendo的模板输出语法里,让Grid在渲染每行时动态解析并传入实际值:

{ 
  field: "RuleName", 
  template: "#= ruleRadioActive(RuleName) #", 
  title: global.textJSPartialView["RuleName"], 
  headerTemplate: "bla bla" 
}

关键说明:

  • #= ... #是Kendo的无转义输出语法,它会解析当前行数据中的RuleName字段,把实际值作为参数传给ruleRadioActive函数,而不是传字符串"RuleName"。
  • 要确保ruleRadioActive函数在KendoGrid初始化之前就已经定义完成,不然会出现"函数未定义"的报错。
  • 如果你的函数需要返回HTML内容(比如生成单选按钮),直接返回字符串格式的HTML即可,#=会直接渲染这些内容。

举个实际的函数示例,方便你理解:

// 假设你的ruleRadioActive函数是用来生成单选按钮的
function ruleRadioActive(ruleName) {
  // 根据传入的实际RuleName值生成对应的HTML
  return `<label><input type="radio" name="activeRule" value="${ruleName}"> ${ruleName}</label>`;
}

这样配置后,Grid每行渲染时都会调用ruleRadioActive,并传入当前行的RuleName实际值,完美解决你遇到的问题!

内容的提问来源于stack exchange,提问作者user12322172

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 08:08:13