我已将我的数据表绑定到ASP.Net中的gridview。我曾尝试使用jQuery dataTable在gridview中显示搜索和排序选项,但是数据表引发了一个错误。
错误是: 未捕获的TypeError:无法读取属性' mData'未定义"这是错误。
我使用了以下代码:
function pageLoad(sender, args) {
$('#grdProducts').DataTable(
$(document).ready(function () {
$('.dataTable').dataTable();
})
);
}
<asp:GridView ID="grdProducts" runat="server" AutoGenerateColumns="false" CssClass="table table-hover dataTable">
<Columns>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:Label ID="lblProductID" runat="server" Text='<%# Eval("ProductID")%>' />
</ItemTemplate>
</asp:TemplateField>
<%--<asp:BoundField DataField="GroupName" HeaderText="Group Name" />--%>
<asp:BoundField DataField="BrandID" HeaderText="Brand" />
<asp:BoundField DataField="ProductName" HeaderText="Product" />
<asp:BoundField DataField="ShortCode" HeaderText="Code " />
<asp:BoundField DataField="Price" HeaderText="Price" />
<asp:TemplateField HeaderText="Update">
<ItemTemplate>
<asp:Button ID="btnUpdate" runat="server" Text="Update" class="btn btn-info" OnClick="btnUpdate_OnClick" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:4)
默认情况下,ASP GridView会将所有内容保留在标记下,并且不会渲染网格标题,这将导致“数据”。错误。
为了做到这一点,在将数据绑定到GridView之后使用下面的行:
GridViewName.HeaderRow.TableSection = TableRowSection.TableHeader;
答案 1 :(得分:0)
请改用以下代码:
$(document).ready(function (){
$('#grdProducts').DataTable();
});
答案 2 :(得分:0)
function pageLoad()
{
var table = $('#grdProducts').DataTable
({
//Here you can define other things using Var table
});
}
您可以在页面加载或行数据绑定时添加它
grdProducts.UseAccessibleHeader = true;
//adds <thead> and <tbody> elements
grdProducts.HeaderRow.TableSection =
TableRowSection.TableHeader;