javascript - 子行数据表 - 行数据值未定义

标签 javascript html asp.net-mvc-4 datatables

我有一个数据表,其中的子行由以下函数填充:

$('#myDataTable tbody').on('click', 'td.details-control', function () {
            console.log(table.row(this).data());
            var tr = $(this).closest('tr');
            var row = table.row(tr);

            if (row.child.isShown())
            {
                // This row is already open - close it
                row.child.hide();
                tr.removeClass('shown');
            }
            else {
                // Open this row
                row.child(format(row.data())).show();
                tr.addClass('shown');
            }
        });

格式化函数:

function format(d) {
            // `d` is the original data object for the row
            return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">' +
                '<tr>'+
                '<td><strong>BLABLA1</td>' +
                '<td align="center">'+
                    d.BLABLA1 +
                '</td>'+

                '<td><strong>BLABLA2</td>' +
                '<td align="center">'+
                    d.BLABLA2+
                '</td>'+
            '</tr>' +
            '</table>';
        }

但是,当我显示页面并展开子行时,列的值是“未定义”...

数据表中的行是从模型(使用 MVC 4)填充的,如下所示:

<tbody>
        @foreach (var item in Model)
        {

            <tr>

                <td align="center">
                    @Html.DisplayFor(modelItem => item.BLABLA3)
                </td>
    .....</tr>}
    </tbody>

我想我缺少将 row.data() 加载到格式化函数中的方法......这样做的正确方法是什么?我已经检查了所有文档,它们都使用了我尝试过的内容......

最佳答案

是的,这个页面很奇怪https://datatables.net/examples/api/row_details.html解释一下我们必须写:

'<td>'+d.myrow+'</td>'+

但是如果我这样做,行的值是“未定义”,所以我必须写:

'<td>'+d["myrow"]+'</td>'+  

它的作品!

关于javascript - 子行数据表 - 行数据值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32095159/

相关文章:

javascript - 显示图表

Javascript:鼠标悬停时获取dom树中的元素

jquery - 覆盖 jQuery 验证 MVC4 中的默认设置

javascript - html5 bootstrap 中的光标交互式 360 度视频/图像背景

c# - MVC 4 - 未找到 404 的注销 Controller 操作

javascript - 使用 MVC 将 Ext.Net 1.6 迁移到 Ext.Net 2.1 破坏了渲染器功能

javascript - 如何创建一个循环进度条,我可以将总金额从 100% 更改为任何其他值?

javascript - 添加一个事件以在将列表项添加到 <select> jQuery 时捕获

php - 用于创建下载文件的 Jquery AJAX 调用似乎运行了两次 - 很难理解为什么 :o(

javascript - 如何有多个下拉菜单