Я использую таблицы данных Jquery на той же странице со списком данных. Оба заполняются на стороне сервера. Таблицы данных отлично работают, если я размещу код над списком данных. Однако при размещении под списком данных таблицы данных теряют свое форматирование / стиль и выдают ошибку «Uncaught TypeError: Невозможно прочитать свойство« mData »из undefined» в консоли. Это использует ASP.NET Webforms.
<asp:DataList ID="DataList" runat="server">
<ItemTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# !string.IsNullOrEmpty(Eval("Title").ToString()) ? true : false %>'>
<tr id="">
<td style="width: 171px">Title:</td>
<td style="width: 220px">
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
</td>
</tr>
</asp:PlaceHolder>
<asp:PlaceHolder ID="PlaceHolder2" runat="server" Visible='<%# !string.IsNullOrEmpty(Eval("FirstName").ToString()) ? true : false %>'>
<tr id="">
<td style="width: 171px">First Name:</td>
<td style="width: 220px">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("FirstName") %>'></asp:Label>
</td>
</tr>
</asp:PlaceHolder>
<asp:PlaceHolder ID="PlaceHolder3" runat="server" Visible='<%# !string.IsNullOrEmpty(Eval("MiddleName").ToString()) ? true : false %>'>
<tr id="">
<td style="width: 171px">Middle Name:</td>
<td style="width: 220px">
<asp:Label ID="Label2" runat="server" Text='<%# Eval("MiddleName") %>'></asp:Label>
</td>
</tr>
</asp:PlaceHolder>
</ItemTemplate>
</asp:DataList>
<hr />
<h6>DataTable:</h6>
<asp:GridView ID="tblNotes" runat="server" AutoGenerateColumns="false" CssClass="table table-bordered table-striped dataTables_scrollHead">
<Columns>
<asp:BoundField DataField="Notes" HeaderText="Notes" />
<asp:BoundField DataField="CREATEDATE" HeaderText="Created Date" />
<asp:BoundField DataField="CREATEDBY" HeaderText="Created By" />
<asp:BoundField DataField="MODIFIEDDATE" HeaderText="Modified Date" />
<asp:BoundField DataField="MODIFIEDBY" HeaderText="Modified By" />
</Columns>
</asp:GridView>
Вот Jquery:
$("[id*=tblNotes]").prepend($("<thead></thead>").append($(this).find("tr:first"))).DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"autoWidth": true,
"responsive": true,
"dom": 'lBfrtip',
"buttons": ['excel', 'print', 'pdfHtml5']
Важно, чтобы таблицы данных располагались под списком данных без потери форматирования / стиля.