动态呈现列

本文关键字:动态 | 更新日期: 2023-09-27 17:56:29

我动态加载了数据表,所有列都来自 aoColumns 所需的 JSON 格式的数据库。

我可以像这样呈现任何列:

"aoColumns": [
{
    "sName": "I_CPN",
    "fnRender": function (oObj) 
    {
        return a button
    }
}]

其中sName是我的列名称,这是静态的,我可以从 JSON 格式的 C# 代码中动态获取aoColumns的上述内容。我的问题是我无法将fnRender放入 JSON 对象中。

我怎样才能获得fnRender以便我可以将我的列呈现为按钮。

动态呈现列

JSON 格式不能携带函数对象。只是一些有限的纯数据类型集(请参阅 http://www.json.org)以及可以序列化为字符串并反序列化的其他所有内容。

因此,您可以将函数作为字符串传输,然后在 JavaScript 前端上使用 eval 将其转回代码。例如,参见 JSON.parse vs. eval() 以获取有关如何使用 eval 的示例。

尽管这是可能的,但它以某种方式破坏了原始JSON作为简单的数据容器设计。

您还可以编写某种通用fnRender函数,例如,该函数将采用列名并使用getElementById()函数查找相应的按钮元素。

您的示例代码很小以提供更好的答案(为了概括,我们必须至少有 2 个示例:)