我动态加载DataTable,所有列都来自JSON格式的数据库,aoColumns需要。
我可以像这样渲染任何一列:
"aoColumns": [
{
"sName": "I_CPN",
"fnRender": function (oObj)
{
return a button
}
}]
sName
是我的列名,这是静态的,我可以从JSON格式的C#代码动态获得aoColumns
的内容。我的问题是我无法将fnRender
放在JSON对象中。
如何获取fnRender
以便我可以将我的列渲染为按钮。
答案 0 :(得分:1)
JSON格式无法携带函数对象。只是一些有限的普通数据类型(参见http://www.json.org)以及可以序列化为字符串并反序列化的所有其他内容。
因此,您可以将函数作为字符串传输,然后在JavaScript前端使用eval
将其转回代码。参见例如JSON.parse vs. eval()有关如何使用eval
的示例。
虽然这是可能的,但它以某种方式将原始JSON打破为简单的数据容器设计。
您还可以编写某种通用fnRender
函数,例如使用getElementById()函数获取列名并找到相应的按钮元素。
你的示例代码是小的,以提供更好的答案(为了概括我们必须至少有2个例子:)