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

2014-11-24 01:40:17 · 作者: · 浏览: 8
s.colresize = false;

} else if (this.vresize) {

this.vresize = false;

} else if (this.colCopy) {

$(this.colCopy).remove();

if (this.dcolt != null) {

if (this.dcoln > this.dcolt) $('th:eq(' + this.dcolt + ')', this.hDiv).before(this.dcol);

else $('th:eq(' + this.dcolt + ')', this.hDiv).after(this.dcol);

this.switchCol(this.dcoln, this.dcolt);

$(this.cdropleft).remove();

$(this.cdropright).remove();

this.rePosDrag();

if (p.onDragCol) {

p.onDragCol(this.dcoln, this.dcolt);

}

}

this.dcol = null;

this.hset = null;

this.dcoln = null;

this.dcolt = null;

this.colCopy = null;

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

$(this.cDrag).show();

}

$('body').css('cursor', 'default');

$('body').noSelect(false);

},

toggleCol: function (cid, visible) {

var ncol = $("th[axis='col" + cid + "']", this.hDiv)[0];

var n = $('thead th', g.hDiv).index(ncol);

var cb = $('input[value=' + cid + ']', g.nDiv)[0];

if (visible == null) {

visible = ncol.hidden;

}

if ($('input:checked', g.nDiv).length < p.minColToggle && !visible) {

return false;

}

if (visible) {

ncol.hidden = false;

$(ncol).show();

cb.checked = true;

} else {

ncol.hidden = true;

$(ncol).hide();

cb.checked = false;

}

$('tbody tr', t).each(

function () {

if (visible) {

$('td:eq(' + n + ')', this).show();

} else {

$('td:eq(' + n + ')', this).hide();

}

}

);

this.rePosDrag();

if (p.onToggleCol) {

p.onToggleCol(cid, visible);

}

return visible;

},

switchCol: function (cdrag, cdrop) { //switch columns

$('tbody tr', t).each(

function () {

if (cdrag > cdrop) $('td:eq(' + cdrop + ')', this).before($('td:eq(' + cdrag + ')', this));

else $('td:eq(' + cdrop + ')', this).after($('td:eq(' + cdrag + ')', this));

}

);

//switch order in nDiv

if (cdrag > cdrop) {

$('tr:eq(' + cdrop + ')', this.nDiv).before($('tr:eq(' + cdrag + ')', this.nDiv));

} else {

$('tr:eq(' + cdrop + ')', this.nDiv).after($('tr:eq(' + cdrag + ')', this.nDiv));

}

if ($.browser.msie && $.browser.version < 7.0) {

$('tr:eq(' + cdrop + ') input', this.nDiv)[0].checked = true;

}

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

},

scroll: function () {

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

this.rePosDrag();

},

addData: function (data) { //parse data

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

data = $.extend({rows: [], page: 0, total: 0}, data);

}

if (p.preProcess) {

data = p.preProcess(data);

}

$('.pReload', this.pDiv).removeClass('loading');

this.loading = false;

if (!data) {

$('.pPageStat', this.pDiv).html(p.errormsg);

return false;

}

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

p.total = +$('rows total', data).text();

} else {

p.total = data.total;

}

if (p.total == 0) {

$('tr, a, td, div', t).unbind();

$(t).empty();

p.pages = 1;

p.page = 1;

this.buildpager();

$('.pPageStat', this.pDiv).html(p.nomsg);

return false;

}

p.pages = Math.ceil(p.total / p.rp);

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

p.page = +$('rows page', data).text();

} else {

p.page = data.page;

}

this.buildpager();

//build new bod