Jqgrid-in sütunlarının dinamik yığılması


Jqgrid-də sütunlalarının dinamik yaradılması kimi qarşıma bir sual çıxdı. Bildiyimiz kimi jqgrid aşağıdakı şəkildə olur.
  var archive = {
        'url' : 'cs?action=archivegrid',
        colNames:['№', 'Ad soyad', 'Problem', 'Təhvil tarixi', 'Təhvil vermə tarixi', 'Məbləğ'],
        colModel:[
            {name:'id', index:'id', width:26},
            {name:'namesurname', index:'namesurname', width:100},
            {name:'problem', index:'problem', width:100},
            {name:'req_date', index:'req_date', width:80},
            {name:'req_promised_date', index:'reqgivendate', width:80},
            {name:'price', index:'price', width:80}          
        ]};
        var model = archiveRequest;
        jQuery("#table4").jqGrid({
        url: model.url,
        datatype:"json",
        colNames:model.colNames,
        colModel:model.colModel,
        width:950,
        height:340,
        rowNum:10,
        rowList:[10, 20, 30],
        pager:'#div4',
        sortname: 'id',
        viewrecords:true,
        sortorder:"desc",
        loadonce: true,
        caption:"Arxiv",
        scrollOffset:0 
});


Grid-in əsas iki hissəsini dinamik yığmaqla gridi hazirlamaq mümkündür. Bu hissələr colNames: ve 
        colModel: -dir.  Bunun üçün aşağıdakı iki funksiyani işlətməklə generasiya etmək olar.

 function columnModel(data) {
        for (var i = 0; i < data.length; i++) {
            var object={};
            object.name=data[i];
            object.index=data[i];
            object.editable=true;
            namesArray.push(object);
        }
        return namesArray;
    }

    function columnNames(data){
        for (var i = 0; i < data.length; i++) {
            modelArray.push(data[i]);
        }
        return modelArray;
    }
Birinci funksiyaya column adlarini array seklinde gondərməklə  columnModeli yaratmaq mümkündür. məsələn  [Object { name=
, index=
, editable= }, Object { name= , index= , editable= }, Object { name= , index= , editable= }] 
bu şəkildə alınacaq
İkinci funksiyada isə ["AD", "Soyad", "ATA ADI"] şəklində colNames alınacaq.
alinan qiymətləri bir dəyişənə mənimsədib jqgriddə 
 colNames:columnNames
  colModel: columnModel
yazmaqla sütünları dinamik generasiya olunan jqgridi yaratmiş oluruq.

Comments

Popular posts from this blog