Как использовать отображение данных webix?

#json #datatable #webix

#json #datatable #webix

Вопрос:

Я использую таблицу данных webix. У меня возникли проблемы с отображением моих значений для таблицы. Данные не отображаются, хотя я знаю, что они видят данные.

Вот мой скрипт webix с моим отображением:

     webix.ajax().get('urltourltourl',{
        // Error callback
        error:function(text, data, XmlHttpRequest){
            alert("error");
        },

        //Success callback
        success:function(text, data, XmlHttpRequest){
            var data = JSON.parse(text);
            console.log(data);
        var dtable2 = webix.ui({
                container:"datatable",
                view:"datatable",
                map:{
                    1:data.data[0].centerNumber,
                    2:data.data[0].centerNumber
                },
                columns:[
                    { id:"1",   header:"CenterNBR" , width:88},
                    { id:"2",   header:"Loan NBR",  width:88},
                    { id:"3",   header:"Cust Name",     width:88},
                    { id:"4",   header:"MTD #",     width:88},
                    { id:"5",   header:"MTD $",     width:88},
                    { id:"6",   header:"MTD %",     width:88},
                    { id:"7",   header:"YTD #",     width:88},
                    { id:"8",   header:"YTD $",     width:88},
                    { id:"9",   header:"YTD %",     width:88},
                ],
                autoheight:true,
                autowidth:true,
                data: data
        }); 
        }
    });
  

Сопоставление должно связать этот идентификатор со значением, которое я извлекаю из объекта data JSON, но это не так. Это просто пустое.

Ответ №1:

Если вы хотите использовать атрибут «map», вам необходимо

  • измените ключи на буквенно-цифровую строку (не на числа)
  • запишите отображенные значения в виде строк

        map:{
         "a1":"#centerNumber#",
         "a2":"#centerNumber#" 
       },
       columns:[
            { id:"a1",   header:"CenterNBR" , width:88},
            { id:"a2",   header:"Loan NBR",  width:88},
      

http://webix.com/snippet/115c1e12

Если вам нужны цифровые клавиши, используйте scheme .инициализация вместо

       scheme:{
        $init:function(obj){
          obj[1] = obj.centerNumber;
          obj[1] = obj.centerNumber;
        }
      },
  

http://webix.com/snippet/2d1344bd