Нет данных для отображения в jqxGrid - PullRequest
0 голосов
/ 10 апреля 2020

Прежде всего, код:

<script type="text/javascript">

    $(function () {
        var events = []

        $.get('/eventlog/status', {}, function (response) {
                data = eval("(" + response + ")");
                console.log("data",data);

                for(var i=0; i<data.event.length; i++){
                    var row = { event:"INIT", type:"INIT", area:"INIT", description:"INIT", datetime:"INIT" };

                    row.event = data.event[i];
                    row.type = data.type[i];
                    row.area = data.area[i];
                    row.description = data.description[i];
                    row.datetime = data.datetime[i];

                    events.push(row);   
                }
            });


        var testData = [{event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  1 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"},
                        {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  2 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"},
                        {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  3 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"},
                        {event: "JAM", type: "SET", area: "JAM", description: "Zone 104D4 Jam", datetime: "THU 04/09/2020 16:23:34.536.490.0"},
                        {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  1 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"},
                        {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  2 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"},
                        {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  3 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}];

        console.log("testData",testData);
        console.log("events", events);

        var source =
        {
            datatype: "json",
            datafields:
            [
                { name: 'event' },
                { name: 'type' },
                { name: 'area' },
                { name: 'description' },
                { name: 'datetime' }
            ],
            localdata: events
        };

        var dataAdapter = new $.jqx.dataAdapter(source);

        $("#table").jqxGrid(
        {
            height: $(window).height() - 275,
            width: 1300,
            source: dataAdapter,
            theme: 'metrodark',
            altrows: true,
            selectionmode: 'multiplecellsextended',

            columnsresize: true,
            columns: [
              { text: 'Event',       datafield: 'event', width: 90},
              { text: 'Status',      datafield: 'type', width: 100},
              { text: 'Area',        datafield: 'area', width: 100},
              { text: 'Description', datafield: 'description', width: 'auto'},
              { text: 'Timestamp',   datafield: 'datetime', width: 200, cellsformat: 'MM/dd/yyyy h:mm:ss tt'},
            ],
            showstatusbar: true,
            renderstatusbar: function (statusbar) {
            },
        });

        $("#table").jqxGrid('updatebounddata', 'cells');

    });


</script>

У меня проблема с получением jqxGrid для правильного отображения входящих данных.

У меня есть сервер, отправляющий информацию о подключении к web2py в формате json. Данные поступают правильно и отображают, как они должны быть в переменной «data».

У меня есть 2 списка: testData и events. В консоли они идентичны (как и должно быть, я скопировал отображение событий на консоли, чтобы сделать testData).

Когда я использую testData в качестве источника, данные правильно отображаются в таблице, когда я использую события, я получаю «Нет данных для отображения»

Я очень смущен, потому что оба списка выглядят идентичен мне Это вывод на консоль:

testData (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
    0: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  1 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    1: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  2 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    2: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  3 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    3: {event: "JAM", type: "SET", area: "JAM", description: "Zone 104D4 Jam", datetime: "THU 04/09/2020 16:23:34.536.490.0"}
    4: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  1 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    5: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  2 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    6: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  3 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    length: 7
    __proto__: Array(0)
events []
    0: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  1 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    1: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  2 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    2: {event: "FLOWSTOP", type: "SET", area: "CRANE OUTBOUND", description: "Crane  3 OUTBOUND FULL", datetime: "THU 04/09/2020 16:23:26.534.500.0"}
    3: {event: "JAM", type: "SET", area: "JAM", description: "Zone 104D4 Jam", datetime: "THU 04/09/2020 16:23:34.536.490.0"}
    4: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  1 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    5: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  2 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    6: {event: "STALLED", type: "SET", area: "CRANE INFEED", description: "Crane  3 STALLED", datetime: "THU 04/09/2020 16:28:26.249.485.0"}
    length: 7
    __proto__: Array(0)
data 
    {event: Array(7), type: Array(7), area: Array(7), description: Array(7), datetime: Array(7)}
    event: (7) ["FLOWSTOP", "FLOWSTOP", "FLOWSTOP", "JAM", "STALLED", "STALLED", "STALLED"]
    type: (7) ["SET", "SET", "SET", "SET", "SET", "SET", "SET"]
    area: (7) ["CRANE OUTBOUND", "CRANE OUTBOUND", "CRANE OUTBOUND", "JAM", "CRANE INFEED", "CRANE INFEED", "CRANE INFEED"]
    description: (7) ["Crane  1 OUTBOUND FULL", "Crane  2 OUTBOUND FULL", "Crane  3 OUTBOUND FULL", "Zone 104D4 Jam", "Crane  1 STALLED", "Crane  2 STALLED", "Crane  3 STALLED"]
    datetime: (7) ["THU 04/09/2020 16:23:26.534.500.0", "THU 04/09/2020 16:23:26.534.500.0", "THU 04/09/2020 16:23:26.534.500.0", "THU 04/09/2020 16:23:34.536.490.0", "THU 04/09/2020 16:28:26.249.485.0", "THU 04/09/2020 16:28:26.249.485.0", "THU 04/09/2020 16:28:26.249.485.0"]
    __proto__: Object

Чего мне не хватает? Как я могу получить события для отображения в таблице?

Извините заранее. Я очень новичок в javascript, web2py и python. Я кодировал C за последние 7 лет, но мы потеряли членов команды, и я должен это сделать. Я понимаю, что, возможно, упускаю что-то очевидное, но это мне передали, и я изучаю это, разбирая рабочие экраны и реверс-инжиниринг, где могу. Я думал, что получаю приличное управление этим, пока я не столкнулся с этой проблемой.

...