Как использовать Webix Datamapping?

Я использую данные 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
        }); 
        }
    });

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

1 ответ

Если вы хотите использовать атрибут "карта", вам нужно

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

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

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

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

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

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

Другие вопросы по тегам