您的位置:首页 > 产品设计 > UI/UE

easyui 使用 mark

2015-11-21 20:43 387 查看
1、异步树的生成,后台返回的json数据 带有 id、text

$(function () {
var $tree = $("#orgTree");
var treeUrl = "../../OrgCURD/GetOrgTree";
$("#orgTree").tree({
lines: true,
url: treeUrl,
onBeforeExpand: function (node) {
$tree.tree("options").url = treeUrl + "?id=" + node.id;
},
onSelect: function (node) {
queryUserLst(node.id);

if (node.state === "closed") {//选中时进行折叠与展开
$tree.tree("expand", node.target);
node.state = "open";
}
else {
$tree.tree("collapse", node.target);
node.state = "closed";
}

}
});
});


2、js控制datagrid的列显示与隐藏

EasyLib.Ctl.SetDataGridColumn = function (dict) {

var $row1 = $(".datagrid-view > div").last().find(".datagrid-header .datagrid-header-row").first();
var $row2 = $(".datagrid-view > div").last().find(".datagrid-header .datagrid-header-row").last();
var $btable = $(".datagrid-view > div").last().find(".datagrid-body .datagrid-btable");

//格线第1行
if ($row1.length) {

//统计合并列数据
var colspanArr = [];
for (var i = 0; i < $row1.find("td").length; i++) {
var $td = $row1.find("td:eq(" + i + ")");
var colspan = $td.attr("colspan");
if ($td.attr("colspan")) {
colspanArr.push(Number(colspan));
}
else {
colspanArr.push(1);
}
}

//根据指定索引计算第1行的真实索引
var Row1StartIndex = -1;
var Row1EndIndex = -1;
if (Row1StartIndex === -1) {
if (dict.StartIndex === 0) {
Row1StartIndex = 0;
}
else {
var TotalIndex = 0;
for (var i = 0; i < colspanArr.length; i++) {
TotalIndex += colspanArr[i];
if (TotalIndex >= dict.StartIndex) {
Row1StartIndex = i + 1;
break;
}
}
}
}
if (Row1EndIndex === -1) {
if (dict.EndIndex === -1) {
Row1EndIndex = $row1.find("td").length - 1;
}
else {
var TotalIndex = 0;
for (var i = 0; i < colspanArr.length; i++) {
TotalIndex += colspanArr[i];
if (TotalIndex > dict.EndIndex) {
Row1EndIndex = i;
break;
}
}
}
}

for (var i = Row1StartIndex; i <= Row1EndIndex; i++) {
if (dict.Visibility === "show") {
$row1.find("td:eq(" + i + ")").show();
}
else if (dict.Visibility === "hide") {
$row1.find("td:eq(" + i + ")").hide();
}
}

}

if (dict.EndIndex === -1) {//当结束索引为-1时的处理
dict.EndIndex = $row2.find("td").length
if ($(".datagrid-td-rownumber").length) {//是否显示序号
dict.EndIndex = dict.EndIndex + 1;
}
dict = dict;
}
//格线第2行
if ($row2.length) {
for (var i = dict.StartIndex; i <= dict.EndIndex; i++) {
if (dict.Visibility === "show") {
$row2.find("td:eq(" + i + ")").show();
}
else if (dict.Visibility === "hide") {
$row2.find("td:eq(" + i + ")").hide();
}
}
}

//格线具体内容
if ($btable.length) {
var fieldArr = [];
for (var i = 0; i < $btable.find("tr").first().find("td").length; i++) {
fieldArr.push($btable.find("td:eq(" + i + ")").attr("field"));
}

for (var i = dict.StartIndex; i <= dict.EndIndex; i++) {
if (dict.Visibility === "show") {
$("[field='" + fieldArr[i] + "']").show();
}
else if (dict.Visibility === "hide") {
$("[field='" + fieldArr[i] + "']").hide();
}
}
}
}


3、js获取datagrid对象 生成table字符串

EasyLib.Ctl.GetDataGridColumn = function ($obj) {
var result = '<table cellspacing="0">';

var frozenColumns = $obj.datagrid("options").frozenColumns;//得到frozenColumns对象
var columns = $obj.datagrid("options").columns;//得到columns对象
var rows = $obj.datagrid("getRows");//得到记录行对象
var nameList = new Array();

// 载入title
$(columns).each(function (index) {
result += '<tr>';
if (frozenColumns && frozenColumns[index]) {//冻结列
for (var i = 0; i < frozenColumns[index].length; ++i) {
if (!frozenColumns[index][i].hidden) {
result += '<th width="' + frozenColumns[index][i].width + '"';
if (frozenColumns[index][i].rowspan) {
result += ' rowspan="' + frozenColumns[index][i].rowspan + '"';
}
if (frozenColumns[index][i].colspan) {
result += ' colspan="' + frozenColumns[index][i].colspan + '"';
}
if (frozenColumns[index][i].field) {
nameList.push(frozenColumns[index][i]);
}
result += '>' + (frozenColumns[0][i].title ? frozenColumns[0][i].title : "") + '</th>';
}
}
}
else {
for (var i = 0; i < columns[index].length; ++i) {//非冻结列
if (!columns[index][i].hidden) {
result += '<th width="' + columns[index][i].width + '"';
if (columns[index][i].rowspan) {
result += ' rowspan="' + columns[index][i].rowspan + '"';
}
if (columns[index][i].colspan) {
result += ' colspan="' + columns[index][i].colspan + '"';
}
if (columns[index][i].field) {
nameList.push(columns[index][i]);
}
result += '>' + (columns[index][i].title ? columns[index][i].title : "") + '</th>';
}
}
}
result += '</tr>';
});

// 载入内容
for (var i = 0; i < rows.length; ++i) {
result += '<tr>';
for (var j = 0; j < nameList.length; ++j) {
var e = nameList[j].field.lastIndexOf('_0');

result += '<td';
if (nameList[j].align) {
result += ' style="text-align:' + nameList[j].align + ';"';
}
result += '>';
if (e + 2 == nameList[j].field.length) {
result += rows[i][nameList[j].field.substring(0, e)];
}
else {
result += rows[i][nameList[j].field];
}
result += '</td>';
}
result += '</tr>';
}
result += '</table>';
return result;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: