c# - 按钮单击事件后 DataTable 不渲染 Gridview
问题描述
在创建页面时,一切正常,但是当我单击按钮以显示所选行时,我的网格视图不会呈现为数据表。我需要做什么来解决这个问题或我做错了什么?
我的脚本:
<script type="text/javascript">
$(function () {
$('[id*=gvTest]').prepend($("<thead></thead>").append($(this).find("tr:first"))).DataTable({
"responsive": true,
"sPaginationType": "full_numbers",
});
});
$(document).ready(function () {
var table = $('#gvTest').DataTable();
$('#gvTest tbody').on( 'click', 'tr', function () {
$(this).toggleClass('selected');
});
$('#btnRead').click(function () {
var ids = $.map(table.rows('.selected').data(), function (item) {
return item[0]
});
});
} );
</script>
我的网格:
<asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager>
<asp:UpdatePanel ID="updatePanel" runat="server">
<ContentTemplate>
<asp:GridView ID="gvTest" Width="100%" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:BoundField DataField="PatientID" HeaderText="Patient ID" >
</asp:BoundField>
<asp:BoundField DataField="PatientName" HeaderText="PatientName" >
</asp:BoundField>
<asp:BoundField DataField="Age" HeaderText="Age" >
</asp:BoundField>
<asp:BoundField HeaderText="Sex" DataField="Sex" >
</asp:BoundField>
<asp:BoundField HeaderText="Mod" DataField="Modality" >
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
创建我的页面时:
一切正常,但是当我单击一个按钮时,会发生这种情况:
我现在需要做什么来解决这个问题?
解决方案
UpdatePanel 刷新 DOM,因此使用 jQuery 对其所做的任何更改都将丢失。您需要DataTable()
在 Async PostBack 之后再次调用。你可以使用PageRequestManager
它。
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
createDataTable();
});
createDataTable();
function createDataTable() {
var table = $('#gvTest').DataTable();
$('#gvTest tbody').on('click', 'tr', function () {
$(this).toggleClass('selected');
});
}
</script>
推荐阅读
- javascript - 在分配变量后的Vue中,它仍然指向旧变量
- python - 列表的 Python 格式(单行)
- google-apps-script - 谷歌脚本格式日期创建不可能的日期
- javascript - 如何创建具有 2 个键和 1 个值的对象?
- python - 是否有相当于 `pip install -t` 的`conda`
- ffmpeg - ffmpeg drawtext 支持藏文字体
- sql - SQL 在搜索下方查找结果 1 字段
- shell - 如何拆分路径以获取shell脚本中的目录
- javascript - 如何使用脚本仅隐藏一半图像?
- java - Java 多线程应用程序 - 在 Hive 上间歇性地获取“错误文件描述符”异常