本文介绍了按钮单击事件后,DataTable 不渲染 Gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的页面创建时,一切正常,但是当我单击按钮以显示所选行时,我的网格视图未呈现为数据表.我需要做什么来解决这个问题,或者我做错了什么?

我的脚本:

我的网格:

一切正常,但是当我点击一个按钮时就会发生这种情况:

我现在需要做什么来解决这个问题?

解决方案
gvTest.UseAccessibleHeader = true;//添加和 <tbody>元素gvTest.HeaderRow.TableSection =TableRowSection.TableHeader;

In my page when it's creating, everything is working fine but when I am clicking on the button to show the selected row, then my grid view is not rendering as a datatable. What I need to do to fix this or what I am doing wrong?

My script:

<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>

My Grid:

<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>

When my page is created:

Everything is working fine, but when I click a button then this happens:

What do I need to do now to fix this problem ?

解决方案
gvTest.UseAccessibleHeader = true;
//adds <thead> and <tbody> elements
gvTest.HeaderRow.TableSection =
TableRowSection.TableHeader;

这篇关于按钮单击事件后,DataTable 不渲染 Gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 21:23