Esayui Datagrid 动态列表 设置单元格字体颜色 操作列

4 篇文章 0 订阅

后台代码

		/// <summary>
        /// 获取标题   通过模板控制显示哪些列
        /// </summary>
        /// <param name="context"></param>
        public void GetFiledData(HttpContext context)
        {
            //获取模板
            var Modulelist = _ModuleBll.GetModuleList();
            List<FieldModel> list = new List<FieldModel>();
            if (Modulelist != null && Modulelist .Count > 0)
            {
                FieldModel field1 = new FieldModel()
                {
                    field = $"Name",
                    title = $"姓名",
                };
                FieldModel field2 = new FieldModel()
                {
                    field = $"Sex",
                    title = $"性别",
                };
                list.Add(field1);
                list.Add(field2);
                foreach (var item in Modulelist )
                {
                    var text = getStr(item.ModuleID.ToString()); //根据ID生成名称
                    FieldModel field = new FieldModel()
                    {
                        field = $"{text}",
                        title = $"{item.ModuleName}",
                    };

                    list.Add(field);
                }

                FieldModel field3 = new FieldModel()
                {
                    field = $"TotalWeight",
                    title = $"小计",
                };
                FieldModel field4 = new FieldModel()
                {
                    field = $"Opt",
                    title = $"操作",
                    halign = $"center",
                    align = $"center",
                    width = 140
                };
                FieldModel field5 = new FieldModel()
                {
                    field = $"PlanIntro",
                    title = $"备注",

                };
                list.Add(field3);
                list.Add(field4);
                list.Add(field5);
            }
            var v = list.ToJSON();
            v = $"[{v}]";
            context.Response.Write(v);
        }

		/// <summary>
        /// 获取计划汇总列表
        /// </summary>
        /// <param name="context"></param>
		public void GetPlanSummaryList(HttpContext context)
        {
            //获取查询条件
            SearchModel searchModel = new SearchModel(context);
			//通过模板查询数据
            var ds = _PlanBLL.GetPlanSummaryList(searchModel);

            DataTable dt = ds.Tables[0];

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                var dr = dt.Rows[i];
                var TotalWeight = 0;
                for (int j = 2; j < dt.Columns.Count - 2; j++)
                {
                    var value = dr[j].ToString("").ToInt(0);
                    if (value > 0)
                    {
                        TotalWeight += value;
                    }
                }
                dr["TotalWeight"] = TotalWeight;
            }

            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow drRow = dt.NewRow();
                // 空的数据列 
                drRow[0] = DBNull.Value;
                drRow[1] = DBNull.Value;
                drRow[2] = "合计";
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    var dr = dt.Rows[i];
                    for (int j = 3; j < dt.Columns.Count - 1; j++)
                    {
                        var value = dr[j].ToString("").ToInt(0);
                        if (value > 0)
                        {
                            var val = drRow[j].ToString().ToInt(0);
                            val += value;
                            drRow[j] = val;
                        }
                    }
                }
                dt.Rows.Add(drRow);
            }
            context.Response.Write(dt.ToJSON());
        }

WEB代码

		//加载列表
        function LoadGrid() {
            //获取查询条件
            var queryParams = GetQueryParams();

            //加载数据
            var options = $('#dgMain').datagrid('options');
            options.url = 'Plan_Handler.ashx?method=GetPlanSummaryList';
            options.method = 'post';
            $('#dgMain').datagrid('load', queryParams);
        }

        //加载标题
        function LoadField() {
            //加载数据
            $.getJSON('Plan_Handler.ashx?method=GetFiledData',
                function (option, textStatus, jqXHR) {
                    if (option) {
                        var len = option[0].length;
                        option[0][len - 3]['formatter'] = DateFieldFormatter;   //设置日期格式
                        option[0][len - 2]['formatter'] = dgMainRowFormatter_Opt;  //设置操作列

                        for (var i = 2; i < len - 4; i++) {
                            option[0][i]['formatter'] = setColumnForeColor;      //设置字体颜色
                        }
                    }
                    $('#dgMain').datagrid({
                        columns: option,
                    });
                });
        }
		//操作列
        function dgMainRowFormatter_Opt(value, rec) {
            //按钮的html
            var val = '';
            var MaterielPurchasePlanID = rec.MaterielPurchasePlanID;
            var TotalWeight = rec.TotalWeight;
            if (MaterielPurchasePlanID > 0) {
                val += '<a class="clsEdit" href="javascript:void(0);" onClick="CreateRecord(\'' + PlanID + '\')">删除</a>';
            }
            return val;
        }
        
		//设置单元格字体颜色
        function setColumnForeColor(value, row, index) {
            if (value == null) {
                return "<span style='color: red'>" + '' + "</span>";
            }
            else {
                if (value.indexOf("/") != -1) {
                    var i = value.lastIndexOf("/");
                    if (i <= 0) {
                        var strEnd = value.substring(i + 1, value.length);
                        return "<span style='color: red'>" + strEnd + "</span>";
                    }
                    else {
                        var strStart = value.substring(0, i);
                        var strEnd = value.substring(i, value.length);
                        return strStart + "<span style='color: red'>" + strEnd + "</span>";
                    }
                }
                else {
                    return "<span style='color: black'>" + value + "</span>";
                }
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值