vaeThink2/public/static/admin_static/lib/jquery.bsgrid/examples/grid/move-column-custom.html

123 lines
5.2 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Grid Move Column</title>
<link rel="stylesheet" href="../../builds/merged/grid.simple.min.css"/>
<script type="text/javascript" src="../../plugins/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../builds/js/lang/grid.zh-CN.min.js"></script>
<script type="text/javascript" src="../../builds/js/util.min.js"></script>
<script type="text/javascript" src="../../builds/merged/grid.simple.min.js"></script>
</head>
<body style="background-color: #fff;">
<table id="searchTable">
<tr>
<th w_index="XH" width="5%;">XH</th>
<th w_index="ID" width="5%;">ID</th>
<th w_index="CHAR" w_align="left" width="15%;">CHAR</th>
<th w_index="TEXT" w_align="left" width="30%;">TEXT</th>
<th w_index="DATE" width="15%;">DATE</th>
<th w_index="TIME" width="15%;">TIME</th>
<th w_index="NUM" width="5%;">NUM</th>
<th w_render="operate" width="10%;">Operate</th>
</tr>
</table>
<script type="text/javascript">
var gridObj;
$(function () {
// init column move
function initColumnMove(gridId, options) {
$('#' + options.gridId).css({'table-layout': 'fixed'});
var headObj = $.fn.bsgrid.getGridHeaderObject(options);
var headLen = headObj.length;
headObj.each(function (i) {
var obj = this;
// disable select text when mouse moving
$(obj).bind('selectstart', function () { // IE/Safari/Chrome
return false;
});
$(obj).css('-moz-user-select', 'none'); // Firefox/Opera
$(obj).mousedown(function () {
bindDownData(obj, i, headLen);
});
$(obj).mousemove(function (e) {
e = e || event;
var left = $(obj).offset().left;
var nObj = 0, nLeft = 0;
if (i != headLen - 1) {
nObj = $(obj).next();
nLeft = nObj.offset().left;
}
var mObj = obj;
if (i != headLen - 1 && e.clientX - nLeft > -10) {
mObj = nObj;
}
if ((i != 0 && e.clientX - left < 10) || (i != headLen - 1 && e.clientX - nLeft > -10)) {
$(obj).css({ 'cursor': 'e-resize' });
if ($.trim($(obj).data('ex_mousedown')) != 'mousedown') {
return;
}
var mWidth = $(mObj).width();
var newMWidth = mWidth - e.clientX + $(mObj).offset().left;
var preMWidth = $(mObj).prev().width();
var preNewMWidth = preMWidth + e.clientX - $(mObj).offset().left;
if (parseInt(newMWidth) > 19 && parseInt(preNewMWidth) > 19) {
$(mObj).width(newMWidth).prev().width(preNewMWidth);
}
} else {
$(mObj).css({ 'cursor': 'default' });
releaseDownData(obj, i, headLen);
}
});
$(obj).mouseup(function () {
releaseDownData(obj, i, headLen);
});
$(obj).mouseout(function (e) {
e = e || event;
var objOffect = $(obj).offset();
if (objOffect.top > e.clientY || objOffect.top + $(obj).height() < e.clientY) {
releaseDownData(obj, i, headLen);
}
});
function bindDownData(obj, i, headLen) {
if (i != 0) {
$(obj).prev().data('ex_mousedown', 'mousedown');
}
$(obj).data('ex_mousedown', 'mousedown');
if (i != headLen - 1) {
$(obj).next().data('ex_mousedown', 'mousedown');
}
}
function releaseDownData(obj, i, headLen) {
if (i != 0) {
$(obj).prev().data('ex_mousedown', '');
}
$(obj).data('ex_mousedown', '');
if (i != headLen - 1) {
$(obj).next().data('ex_mousedown', '');
}
}
});
};
$.bsgrid.forcePushPropertyInObject($.fn.bsgrid.defaults.extend.initGridMethods, 'initColumnMove', initColumnMove);
gridObj = $.fn.bsgrid.init('searchTable', {
url: 'data/json.jsp',
// autoLoad: false,
pageSizeSelect: true,
pageSize: 10
});
});
function operate(record, rowIndex, colIndex, options) {
return '<a href="#" onclick="alert(\'ID=' + gridObj.getRecordIndexValue(record, 'ID') + '\');">Operate</a>';
}
</script>
</body>
</html>