嵌套asp:ListView时,数据表不起作用?

时间:2019-01-15 07:21:18

标签: asp.net listview datatables webforms nested

我正在使用DataTables获得一些排序和锁定的标题栏功能。问题是,当我的嵌套listView不匹配时,因为嵌套的listView是通过单击行来动态填充的。有什么办法解决这个问题吗?数据表不允许使用colspan,我认为它可以解决问题。

数据表javascript:

$("#tbl_MainProj").DataTable({
                fixedHeader: true
                , bLengthChange: false
                , bPaginate: false
                , searching: false
                , targets: 'no-sort'
                , bSort: true                    
            });

aspx。:

<asp:ListView ID="ListV_Proj" runat="server" DataSourceID="Project_ObjectDataSource" OnItemCommand="ListV_Proj_ItemCommand">
                        <LayoutTemplate>
                            <table id="tbl_MainProj" class="gvv">
                                <thead>
                                    <tr>
                                        <th>
                                            <asp:Label Text="Sub" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Nummer" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Konto" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Navn" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Søgenavn" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Rekv.nr." runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="PL" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Leveres dato" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Bekr. Dato" runat="server" />
                                        </th>
                                        <th>
                                            <asp:Label Text="Status" runat="server" />
                                        </th>
                                    </tr>
                                </thead>
                                <tr id="itemPlaceholder" runat="server" />
                            </table>
                        </LayoutTemplate>
                        <ItemTemplate>
                            <tr runat="server">
                                <td>
                                    <asp:Button ID="btn_GetSubProj" Text="+" runat="server" CommandArgument='<%# Eval("Proj") %>' />
                                </td>
                                <td>
                                    <asp:Label ID="lbl_projNo" Text='<%# Eval("Proj") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("ACCOUNT") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("NAME") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("SNAME") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("REFNO") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("EMPLOYEE") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("END_") %>' runat="server" />

                                </td>
                                <td>
                                    <asp:Label Text='<%# Eval("CONFIRMEDDATE") %>' runat="server" />

                                </td>
                                <td>
                                    <div id="rgy" class='<%# CalcDateExceed(Eval("END_", "{0:d}")) %>'></div>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:ListView ID="ListView_subProj1" runat="server">
                                        <LayoutTemplate>
                                            <table id="tbl_subProj1">
                                                <thead>
                                                    <tr>
                                                        <th>
                                                            <asp:Label Text="Nummer" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Konto" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Navn" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Søgenavn" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Rekv.nr." runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="PL" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Leveres dato" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Bekr. Dato" runat="server" />
                                                        </th>
                                                        <th>
                                                            <asp:Label Text="Status" runat="server" />
                                                        </th>
                                                    </tr>
                                                </thead>
                                                <tr id="itemPlaceholder" runat="server" />
                                            </table>
                                        </LayoutTemplate>
                                        <ItemTemplate>
                                            <tr runat="server">
                                                <td>
                                                    <asp:Label ID="lbl_projNo" Text='<%# Eval("Proj") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("ACCOUNT") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("NAME") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("SNAME") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("REFNO") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("EMPLOYEE") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("END_") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <asp:Label Text='<%# Eval("CONFIRMEDDATE") %>' runat="server" />

                                                </td>
                                                <td>
                                                    <div id="rgy" class='<%# CalcDateExceed(Eval("END_", "{0:d}")) %>'></div>
                                                </td>
                                            </tr>
                                        </ItemTemplate>
                                    </asp:ListView>
                                </td>
                            </tr>
                        </ItemTemplate>
                    </asp:ListView>

我只需要父listView(Table)上的Datatable功能。但是包含子listView的行抛出jQuery异常:

  

无法设置未定义或空引用的属性'_DT_CellIndex'。

有什么办法可以解决这个问题并保持数据表的功能?

编辑:查看Q:DataTables - Not working when added colspan for the last column

我必须以某种方式使用以下脚本。但是我似乎无法弄清楚吗?

"aoColumnDefs": [{
  "aTargets": [2,3,4,5],
  "defaultContent": ""
}]

0 个答案:

没有答案