每次在datatable中更改页面时调用一个函数

时间:2016-04-29 12:09:32

标签: javascript jquery asp.net gridview datatables

我正在使用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函数。

1 个答案:

答案 0 :(得分:4)

您有一个属性Field(),如:

 --app (desktop)
 ---services
 ---etc
 --Server (nodejs)
 --mobileApp

每次抽奖都会调用此功能。 event,并允许您动态修改您想要创建的DOM的任何方面。

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