使用抽奖中的数据表重置计数

时间:2018-08-17 09:19:07

标签: javascript c# jquery asp.net-mvc datatables

我当前正在使用数据表。我有两个表,用于将数据从一个表添加到另一个表中。我目前有一个计数在起作用,但是当表draws从一个表到另一个表时,该计数没有被重置。移动分页时似乎也会发生这种情况。有没有办法让JQuery设置动态ID。

当前,这就是我所拥有的:

var selectedContractsTable = $('#catalogueLinkedContractsTable').DataTable({
            sAjaxSource: linkedUrl,
            columns: [
                { "data": "ID" },
                { "data": "Selected"},
                { "data": "Name"},
                { "data": "ContractType"},
                { "data": "StartDate"},
                { "data": "TerminationDate"},
                { "button": "Action" }
                ],
            serverSide: false,
            sDom: 't<"dt-panelfooter clearfix"ip>',
            pageLength: pageSize,
            bSort: false,
            bLengthChange: false,
            bSearch: true,
            paging: true,
            searching: true,
            order: [[2, "asc"]],
            language: {
                emptyTable: "No linked contracts found.",
                zeroRecords: "No linked contracts found.",
                info: "_START_ to _END_ of _TOTAL_",
                paginate: {
                    first: "First",
                    previous: "Previous",
                    next: "Next",
                    last: "Last"
                }
            },
            columnDefs: [
                {
                    targets: [0],
                    visible: false
                },
                {
                    targets: [1],
                    visible: false
                },
                {
                    targets: [3],
                    sClass: "hidden-xs hidden-sm contractType"
                },
                {
                    targets: [4],
                    sClass: "hidden-xs fromDate"
                },
                {
                    targets: [5],
                    sClass: "hidden-xs terminationDate"
                },
                {
                    data: null,
                    targets: [6],
                    sClass: "updateTableRow text-center",
                    render: function ( data, type, full, meta )
                    {
                        var id = data["ID"];
                        // id number added for testing purposes
                        var removebuttonData = `<button class=\"btn btn-danger br2 btn-xs fs12 table-btn button-selector-${id}\" id=\"RemoveContractBtn_` + count + `\">Remove</button>`;
                        count++;
                        return removebuttonData;
                    }
                }
            ],
            autoWidth: false
        });

        @* Setup the (Non-Selected) Contracts table (data, search, paging handled server side) *@
        count = 0;
        var url = "/ClientSetup/GetCatalogueContracts";
        var contractsTable = $('#catalogueContractsTable').DataTable({
            sAjaxSource: url,
            columns: [
                { "data": "ID" },
                { "data": "Selected"},
                { "data": "Name"},
                { "data": "ContractType"},
                { "data": "StartDate"},
                { "data": "TerminationDate"},
                { "button": "Action" }
                ],
            serverSide: true,
            sDom: 't<"dt-panelfooter clearfix"ip>',
            pageLength: pageSize,
            bSort: false,
            bLengthChange: false,
            bSearch: true,
            paging: true,
            searching: true,
            order: [[2, "asc"]],
            language: {
                emptyTable: "No contracts found.",
                zeroRecords: "No contracts found.",
                info: "_START_ to _END_ of _TOTAL_",
                paginate: {
                    first: "First",
                    previous: "Previous",
                    next: "Next",
                    last: "Last"
                }
            },
            columnDefs: [
                {
                    targets: [0],
                    visible: false
                },
                {
                    targets: [1],
                    visible: false
                },
                {
                    targets: [2]
                },
                {
                    targets: [3],
                    sClass: "hidden-xs hidden-sm contractType"
                },
                {
                    targets: [4],
                    sClass: "hidden-xs fromDate"
                },
                {
                    targets: [5],
                    sClass: "hidden-xs terminationDate"
                },
                {
                    data: null,
                    targets: [6],
                    sClass: "updateTableRow text-center",
                    render: function ( data, type, full, meta )
                    {
                        var id = data["ID"];
                        // id number added for testing purposes
                        var addbuttonData = `<button class=\"btn btn-success br2 btn-xs fs12 table-btn button-selector-${id}\" id=\"AddContractBtn_` + count + `\">Add</button>`;
                        count++;
                        return addbuttonData;                        
                    }
                }
            ],
            drawCallback: function( settings ) {
                disableInvalidContracts();
            },
            autoWidth: false
        });

https://jsfiddle.net/vo5yfnd4/

1 个答案:

答案 0 :(得分:0)

发现我可以使用meta.row

文档中的哪个:https://datatables.net/reference/option/columns.render