FineUI Gird单元格编辑 保存新增的一行到数据库 LINQ

本文介绍了一个Gird控件的配置方法及如何通过LINQ将新增的数据保存到数据库的过程。重点讲解了前端按钮触发事件、服务器端处理数据、异常捕获等关键步骤。

一个Gird的页面定义:

	                            <f:Grid ID="Grid1" ShowBorder="false" ShowHeader="false"   Width="850px" SortField="BIN" SortDirection="ASC"
                                        PageSize="15" AllowPaging="true" IsDatabasePaging="true" OnPageIndexChange="Grid1_PageIndexChange"  
                                        runat="server" DataKeyNames="BIN" AllowCellEditing="true" ClicksToEdit="2"  AllowSorting="true">

新增button准备:


注意新增button的定义:

 <f:Button ID="Button_add1" Text="新增" Icon="Add" EnablePostBack="false" runat="server" CssClass="marginr"/>

服务器页面对button绑定到客户端的新增事件:

                  // 客户端绑定 新增数据事件
                   Button_add1.OnClientClick = Grid1.GetAddNewRecordReference(defaultObj1, true);


服务器处理新增的一行数据到数据库:

  linq.DataClasses_BINDataContext db = new linq.DataClasses_BINDataContext();

            //保存新增数据 仓位 
            List<Dictionary<string, object>> newAddedList = Grid1.GetNewAddedList();


            if  (newAddedList.Count > 0)  
            {

                foreach (var dic in newAddedList)
                {

                    if (mytools.s(dic["BIN"]).Length == 0)
                        {
                            Alert.Show("关键字段不能为空!");
                            return;
                        }

                    linq.MM_BIN one = new linq.MM_BIN();

                    one.WERKS = mytools.s(DropDownList_WERKS.SelectedItem.Text);
                    one.LGORT = mytools.s(DropDownList_LGORT.SelectedItem.Text);

                    one.BIN = mytools.s(dic["BIN"]);
                    one.BIN_NAME = mytools.s(dic["BIN_NAME"]);
                    one.BIN_MAX = mytools.d(dic["BIN_MAX"]);
                    one.BIN_MIN = mytools.d(dic["BIN_MIN"]);
                    one.MEINS = mytools.s(dic["MEINS"]);
                    one.STORAGE_TYPE = mytools.s(dic["STORAGE_TYPE"]);

                    one.BINPOP = mytools.s(dic["BINPOP"]);

                    one.ERSDA = mytools.t(DateTime.Now.ToString("yyyy-MM-dd"));
                    one.ZUSER = mytools.s(Session["username"].ToString());
                   
                    db.MM_BIN.InsertOnSubmit(one);
                }

                db.SubmitChanges();
                BindGrid1(); 
            }


Grid1.GetNewAddedList(); 是前端控件传递到服务器的新增数据,我们使用LINQ TO SQL把新增的数据保存到数据库中。


保存时注意主键如果相同,肯定会出现异常,我们只要抛出即可:

 try
                {
                    db.SubmitChanges();
                }
                    
                catch (Exception ex) 
                {
                    FineUI.Alert.Show(ex.Message.ToString());
                }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值