123 lines
5.2 KiB
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>
|