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",
});
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=
"AD", index=
"AD", editable=
true}, Object { name=
"Soyad", index=
"Soyad", editable=
true}, Object { name=
"ATA ADI", index=
"ATA ADI", editable=
true}]
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
Post a Comment