easyui 使用 mark






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;
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值