2016-04-29 32 views
1

我正在使用jquery和datatables,但卡在某处。我有一个gridview,我正在尝试做类似警告所选行的id。我的onclick事件只适用于第一页的数据,这是可以理解的,因为我只在表第一次填充时调用它。那么如何在页面更改时让该函数运行? 这里是我的GridView:每次调用数据表中的页面时调用一个函数

<asp:GridView ID="GridView1" CssClass="mGrid" runat="server" DataSourceID="EntityDataSource1" AutoGenerateColumns="False" DataKeyNames="UrunId"> 
      <Columns> 
       <asp:TemplateField ItemStyle-CssClass="hiddenTr" FooterStyle-CssClass="hiddenTr" HeaderStyle-CssClass="hiddenTr"> 
        <ItemTemplate> 
         <%#Eval("UrunId") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="İsim"> 
        <ItemTemplate> 
         <%#Eval("UrunAdi") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Fiyat"> 
        <ItemTemplate> 
         <%#Eval("UrunFiyati") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Para Birimi"> 
        <ItemTemplate> 
         <%#Eval("ParaTipi") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Kategori"> 
        <ItemTemplate> 
         <%#Eval("UrunKategori") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Sınıf"> 
        <ItemTemplate> 
         <%#Eval("MP") %> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

而且我的jquery:

$(document).ready(function() { 

     $("#<%=GridView1.ClientID%>").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable({ 
      "language": { 
       "search": "Ara", 
       "lengthMenu": "Her sayfada _MENU_ kayıt göster.", 
       "infoFiltered": "_MAX_ kayıt arasından filtrelendi.", 
       "info": "_PAGES_ sayfa arasıdan _PAGE_.sayfa gösteriliyor.", 
       "paginate": { 
        "first": "İlk", 
        "last": "Son", 
        "next": "Sonraki", 
        "previous": "Önceki" 
       } 
      } 
     }); 
     SatirlaraOnclickAt(); 
    }); 

     function SatirlaraOnclickAt() { 
      $("#<%=GridView1.ClientID%> tr").click(function() { 
       var ilkSatir = $("#<%=GridView1.ClientID%>").find("tr:first").find("td:first").text(); 
       var secilenSatir = $(this).find("td:first").text(); 
       if (ilkSatir != secilenSatir) { 
        var id = $(this).find("td:first").text(); 
        alert(id); 
       }  
      }); 
     } 

就像我说的,功能很好地工作,但我需要每次运行的onclick功能页面的变化。

回答

3

你有一个attribut fnDrawCallback,如:

$(document).ready(function() { 
    $('#example').dataTable({ 
    "fnDrawCallback": function(oSettings) { 
     alert('DataTables has redrawn the table'); 
    } 
    }); 
}); 

该功能被称为上每一个“画”事件,并且允许你动态修改您想了解有关创建DOM任何方面。

Doc:http://legacy.datatables.net/usage/callbacks

相关问题