【发布时间】:2018-07-19 11:50:39
【问题描述】:
我正在使用 asp.net gridview 和 jquery dataTable。我已经在 gridview 中实现了 jquery dataTable,如下所示:
<asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="False" class="table table-striped"
Width="100%">
<Columns>
<%-- <asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkAll" runat="server"
onclick="checkAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk" runat="server"
onclick="Check_Click(this)" />
</ItemTemplate>
</asp:TemplateField>--%>
<asp:BoundField DataField="CustomerID" HeaderText="Customer ID" />
<asp:BoundField DataField="ContactName" HeaderText="Name" />
<asp:BoundField DataField="Country" HeaderText="Country" />
</Columns>
</asp:GridView>
我的java脚本是这样的:
<script type="text/javascript">
$(function () {
$('[id*=gvCustomers]').prepend($("<thead></thead>").append($(this).find("tr:first"))).DataTable({
"responsive": true,
"sPaginationType": "full_numbers",
"aoColumns": [
null,
null,
{ "bSortable": false }
]
});
});
</script>
我想在侧网格视图中添加带有标题复选框的复选框以检查所有功能。 Jquery dataTable 不允许网格内的模板列。我需要检索复选框的值以进行删除。我还需要一个链接按钮来重定向到网格内的另一个页面。 任何帮助都将被接受。
编辑: 我已经编辑了我的 javascript 代码,例如:
$(function () {
$('[id*=gvCustomers]').prepend($("<thead></thead>").append($(this).find("tr:first"))).DataTable({
columnDefs: [{
orderable: false,
className: 'select-checkbox',
targets: 0,
responsive: true,
sPaginationType: 'full_numbers'
}],
aoColumns: [{ "bSortable": false }, null, null, { "bSortable": false }]
});
});
现在我得到以下输出:
在加载过程中,我收到类似“DataTables 警告:非表节点初始化 (INPUT)。有关此错误的更多信息,请参阅 http://datatables.net/tn/2”,但搜索、排序、分页正在运行。 有什么想法吗?
谢谢
帕萨
【问题讨论】:
-
“datatablr 不允许模板列”是什么意思?什么是错误?如果不需要,还可以从 gridview 中删除注释的 html
-
网格扭曲。每行都带有标题,并且没有显示搜索和分页选项。错误是“Uncaught TypeError: Cannot read property 'mData' of undefined at HTMLTableCellElement.
(jquery.dataTables.min.js:90) at Function.each (jquery-1.10.2.min.js:21) at init.each (jquery-1.10.2.min.js:21) ------" -
也许 Gyrocode 的 checkboxes plugin 会很有用。
标签: jquery asp.net gridview checkbox datatables