学习基于jQuery的FlexiGrid工具 (五)

2014-11-24 01:40:17 · 作者: · 浏览: 3
y

var tbody = document.createElement('tbody');

if (p.dataType == 'json') {

$.each(data.rows, function (i, row) {

var tr = document.createElement('tr');

if (i % 2 && p.striped) {

tr.className = 'erow';

}

if (row.id) {

tr.id = 'row' + row.id;

}

$('thead tr:first th', g.hDiv).each( //add cell

function () {

var td = document.createElement('td');

var idx = $(this).attr('axis').substr(3);

td.align = this.align;

// If the json elements aren't named (which is typical), use numeric order

if (typeof row.cell[idx] != "undefined") {

td.innerHTML = (row.cell[idx] != null) row.cell[idx] : '';//null-check for Opera-browser

} else {

td.innerHTML = row.cell[p.colModel[idx].name];

}

$(td).attr('abbr', $(this).attr('abbr'));

$(tr).append(td);

td = null;

}

);

if ($('thead', this.gDiv).length < 1) {//handle if grid has no headers

for (idx = 0; idx < cell.length; idx++) {

var td = document.createElement('td');

// If the json elements aren't named (which is typical), use numeric order

if (typeof row.cell[idx] != "undefined") {

td.innerHTML = (row.cell[idx] != null) row.cell[idx] : '';//null-check for Opera-browser

} else {

td.innerHTML = row.cell[p.colModel[idx].name];

}

$(tr).append(td);

td = null;

}

}

$(tbody).append(tr);

tr = null;

});

} else if (p.dataType == 'xml') {

var i = 1;

$("rows row", data).each(function () {

i++;

var tr = document.createElement('tr');

if (i % 2 && p.striped) {

tr.className = 'erow';

}

var nid = $(this).attr('id');

if (nid) {

tr.id = 'row' + nid;

}

nid = null;

var robj = this;

$('thead tr:first th', g.hDiv).each(function () {

var td = document.createElement('td');

var idx = $(this).attr('axis').substr(3);

td.align = this.align;

td.innerHTML = $("cell:eq(" + idx + ")", robj).text();

$(td).attr('abbr', $(this).attr('abbr'));

$(tr).append(td);

td = null;

});

if ($('thead', this.gDiv).length < 1) {//handle if grid has no headers

$('cell', this).each(function () {

var td = document.createElement('td');

td.innerHTML = $(this).text();

$(tr).append(td);

td = null;

});

}

$(tbody).append(tr);

tr = null;

robj = null;

});

}

$('tr', t).unbind();

$(t).empty();

$(t).append(tbody);

this.addCellProp();

this.addRowProp();

this.rePosDrag();

tbody = null;

data = null;

i = null;

if (p.onSuccess) {

p.onSuccess(this);

}

if (p.hideOnSubmit) {

$(g.block).remove();

}

this.hDiv.scrollLeft = this.bDiv.scrollLeft;

if ($.browser.opera) {

$(t).css('visibility', 'visible');

}

},

changeSort: function (th) { //change sortorder

if (this.loading) {

return true;

}

$(g.nDiv).hide();

$(g.nBtn).hide();

if (p.sortname == $(th).attr('abbr')) {

if (p.sortorder == 'asc') {

p.sortorder = 'desc';

} else {

p.sortorder = 'asc';

}

}

$(th).addClass('sorted').siblings().removeClass('sorted');

$('.sdesc', this.hDiv).removeClass('sdesc');

$('.sasc', this.hDiv).remov