заполнить данные массивом JSON, когда некоторые столбцы пусты - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь заполнить данные из JS.В настоящее время я могу это сделать, но мои текущие данные содержат пустые столбцы в некоторых последних строках, поэтому эти столбцы заполняются первыми.Я попытался заполнить эти пустые столбцы, затем данные заполняются по порядку.Мой пример данных:

var dataSet =  { "SlNo": 1, "InvTransactionMasterID": 4, "VType": 'SI', "Form": null, "VNo": 333, "Prefix": null, "Date": null, "Ledger": "Total CashSale", "TotalGross": 23444.00, "BillDiscount": null, "GrandTotal": null, "Product": null, "Qty": null, "Rate": null, "Rent": null, "CashReceived": null, "Area": null, "Employee": null, "Remarks": null, "VehicleName": null, "VehicleNam": null, "Time": null }, 
{ "SlNo": null, "InvTransactionMasterID": null, "VType": null, "Form": null, "VNo": null, "Prefix": null, "Date": null, "Ledger": "Total CreditSale", "TotalGross": 0, "BillDiscount": null, "GrandTotal": null, "Product": null, "Qty": null, "Rate": null, "Rent": null, "CashReceived": null, "Area": null, "Employee": null, "Remarks": null, "VehicleName": null, "VehicleNam": null, "Time": null }];

Скриншот текущего выхода:

enter image description here

Показывает первый ряд на последнем месте и второй рядво-первых.Когда я даю значение для столбца «SlNo» вместо NULL, вывод будет точным.

Код JS для заполнения:

$('#example').DataTable({                
            data: dataSet,
            columns:
            [
                    {
                        "data": "SlNo",
                        "defaultContent": ""
                    },
                    {
                        "data": "InvTransactionMasterID",
                        "defaultContent": ""
                    },
                    {
                        "data": "VType",
                        "defaultContent": ""
                    },
                    {
                        "data": "Sl",
                        "defaultContent": ""
                    },
                    {
                        "data": "Form",
                        "defaultContent": ""
                    },
                    {
                        "data": "VNo",
                        "defaultContent": ""
                    },
                    {
                        "data": "Prefix",
                        "defaultContent": ""
                    },
                    {
                        "data": "Date",
                        "defaultContent": ""
                    },
                    {
                        "data": "Ledger",
                        "defaultContent": ""
                    },
                    {
                        "data": "TotalGross",
                        "defaultContent": ""
                    },
                    {
                        "data": "BillDiscount",
                        "defaultContent": ""
                    },
                    {
                        "data": "GrandTotal",
                        "defaultContent": ""
                    },
                    {
                        "data": "Product",
                        "defaultContent": ""
                    },
                    {
                        "data": "Qty",
                        "defaultContent": ""
                    },
                    {
                        "data": "Rent",
                        "defaultContent": ""
                    },
                    {
                        "data": "Rate",
                        "defaultContent": ""
                    },
                    {
                        "data": "CashReceived",
                        "defaultContent": ""
                    },
                    {
                        "data": "Area",
                        "defaultContent": ""
                    },
                    {
                        "data": "Employee",
                        "defaultContent": ""
                    },
                    {
                        "data": "Remarks",
                        "defaultContent": ""
                    },
                    {
                        "data": "VehicleName",
                        "defaultContent": ""
                    },
                    {
                        "data": "VehicleNam",
                        "defaultContent": ""
                    },
                    {
                        "data": "Time",
                        "defaultContent": ""
                    }
            ]
        });

Как заполнить в правильном порядке?В некоторых строках будут нулевые значения для столбца «SlNo», поэтому заполнить этот столбец невозможно.

1 Ответ

0 голосов
/ 06 октября 2018

Вам просто нужно добавить столбец ID и использовать эту опцию DataTable orderFixed: [ID_column_number, 'asc'], вот пример:

https://datatables.net/reference/option/orderFixed

$('#example').dataTable( {
    "orderFixed": [ 0, 'asc' ]
} );
...