FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

FineUIPro/Mvc/Core v6.0.0 发布(新版本,新起点)! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

查看: 188|回复: 1

代码贡献:使用EF或Linq进行表格Grid的单元格编辑的代码

[复制链接]
发表于 2019-5-13 21:48:05 | 显示全部楼层 |阅读模式
在FineUIPro 社区里获取资料有一段时间了,现在也为社区做点奉献,给出官网示例没有的代码,请多多批评指教。
-------------------------------------
代码贡献:使用EF或Linq进行表格Grid的单元格编辑的代码,参考网友代码修改而成,祝FineUIPro越来越好!

        private void SaveBomChild()
        {
            //新增子件数据
            List<Dictionary<string, object>> newAddedList = Grid1.GetNewAddedList();
            int sortindex = MpsBomHelper.GetBomChildSortIndexMax(tbxBomID.Text.Trim());

            if (newAddedList.Count > 0)
            {
                foreach (var dic in newAddedList)
                {
                    dtMpsBomChild item = new dtMpsBomChild();

                    item.BomID = tbxBomID.Text.Trim();
                    item.SortIndex = sortindex;
                    item.MateID = dic["MateID"].ToString();
                    item.BomChildType = dic["BomChildType"].ToString();
                    item.BomChildNum = Convert.ToDecimal(dic["BomChildNum"].ToString());
                    item.BomBaseNum = Convert.ToDecimal(dic["BomBaseNum"].ToString());
                    item.Remark = dic["Remark"].ToString();

                    sortindex += 1;

                    DB.dtMpsBomChild.Add(item);
                }
            }
        }
        private void UpdateBomChild()
        {
            //修改子件数据
            Dictionary<int, Dictionary<string, object>> modifiedDict = Grid1.GetModifiedDict();

            if (modifiedDict.Count > 0)
            {
                dtMpsBomChild item = new dtMpsBomChild();
                foreach (var one in modifiedDict)
                {
                    int rowIndex = one.Key;  //DataKeys数组的序号 [one.Key]
                    int rowid = Convert.ToInt32(Grid1.DataKeys[rowIndex][0]);

                    Dictionary<string, object> dic = one.Value;
                    item = DB.dtMpsBomChild.Find(rowid);

                    if (dic.ContainsKey("SortIndex")) item.SortIndex = Convert.ToInt32(dic["SortIndex"].ToString());
                    if (dic.ContainsKey("MateID")) item.MateID = dic["MateID"].ToString();
                    if (dic.ContainsKey("BomChildType")) item.BomChildType = dic["BomChildType"].ToString();
                    if (dic.ContainsKey("BomChildNum")) item.BomChildNum = Convert.ToDecimal(dic["BomChildNum"].ToString());
                    if (dic.ContainsKey("BomBaseNum")) item.BomBaseNum = Convert.ToDecimal(dic["BomBaseNum"].ToString());
                    if (dic.ContainsKey("Remark")) item.Remark = dic["Remark"].ToString();
                }
            }
        }
        private void DeleteBomChild()
        {
            //删除子件数据
            List<int> deletedRows = Grid1.GetDeletedList();

            if (deletedRows.Count > 0)
            {
                foreach (int rowIndex in deletedRows)
                {
                    int rowid = Convert.ToInt32(Grid1.DataKeys[rowIndex][0]);

                    DB.dtMpsBomChild.Where(c => c.ID == rowid).Delete();
                }
            }
        }





发表于 2019-5-21 17:21:58 | 显示全部楼层
内部赋值完全可以用反射处理,你这样太麻烦了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|FineUI 官方论坛 ( 皖ICP备13005369号-1 )

GMT+8, 2019-9-18 11:30 , Processed in 0.131991 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表