DataTable中的隐藏行扩展

时间:2011-11-01 21:21:34

标签: jquery asp.net-mvc datatable

我对DataTable中隐藏的行有疑问。我知道http://datatables.net/examples/api/row_details.html这里有一个例子,但我的情况有点不同。

我的ElementGroupViewModel包含ElementViewModel PrimaryElementElementViewModel[] LinkedElement。在DataTable中,每行包含Element。在我看来,我有类似的东西

           foreach ( var item in Model )
            {
                @Html.Partial( "_ResultItem", item.PrimaryElement )
                foreach ( var linkedItem in item.LinkedElement )
                {
                    @Html.Partial( "_ResultItem", linkedItem )
                }
            }

我希望它首先显示PrimaryElement,用户可以展开/折叠每一行以显示/隐藏LinkedElement。此外,我希望每个页面都显示30条PrimaryElement条记录,无论显示多少LinkedElements条。

我不确定如何实现这一目标。有人有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您无法使用此结构,因为您正在生成与DataTable源不兼容的嵌套静态表。

您是否可以使用没有链接元素的主要元素生成主要主表,并进行从另一个控制器为链接元素加载HTML的Ajax调用,并将其加载到fnOpen中。您可以在http://www.codeproject.com/KB/aspnet/Expandabe-DataTable-MVC.aspx

上找到示例

如果您不想进行Ajax调用,可以将每个链接的子数组生成为单独的隐藏表,如:

<table id="linked-1">
      linked set 1
</table>

<table id="linked-2">
      linked set 2
</table>

<table id="linked-3">
      linked set 3
</table>

并从代码项目上的示例替换Ajax调用,其中一些JQuery通过行的id找到链接表,并将链接表内部HTML传递给fnOpen。​​

我希望你能看到这里的想法。

约万