BLL层_DataBinder对象以及_DataBinder.Rows[0].EndEdit方法详解
BLL层_DataBinder对象以及_DataBinder.Rows[0].EndEdit方法详解
开发框架基础资料(单表资料)界面,在保存数据前会调用_DataBinder.Rows[0].EndEdit方法更新DataTable的缓存数据。 流程:用户点【保存】按钮 --> 调用BLL.Update方法 --> 调用_DataBinder.Rows[0].EndEdit方法。 _DataBinder对象 _DataBinder对象是个DataTable,用户点击【查看】或【编辑】按钮时创建的DataTable对象,里面只有一条记录,用于缓存当前编辑记录的临时数据。 DoBindingSummaryEditor方法 创建_DataBinder对象后,会调用DoBindingSummaryEditor方法绑定当前界面所有文本编辑框的数据源。 DoBindingEditorPanel方法 框架提供 DoBindingEditorPanel 方法,自动绑定编辑区域的数据源,编辑区域通常使用Panel组件容器。 绑定规则(文本编辑框命名规则):txt+字段名,或者chk+字段名。 统一命名后,打循环遍历当前Panel内所有txtXXX的组件,自动绑定数据源。 C# Code: for (int i = 0; i <= editorPanel.Controls.Count - 1; i++) { if (editorPanel.Controls[i] is BaseEdit) { BaseEdit edit = editorPanel.Controls[i] as BaseEdit; if (edit.Name.Substring(0, 3) == "txt") { fieldName = edit.Name.Substring(3, edit.Name.Length - 3); DataBinder.BindingTextEditBase(edit, dataSource, fieldName); } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 详细解释: 数据编辑页面的文本编辑框数据源是绑定_DataBinder对象的,一个文本编辑框绑定一个字段的数据,用户录入资料后,会自动写入_DataBinder对象对应的字段里面。使用_DataBinder.Rows[0].EndEdit方法是告诉DataTable对象已修改完成,同时将当前焦点所在的文本编辑框的数据写入到DataTable对象。 参考:DataRow.EndEdit方法元数据: C# Code: // // 摘要: // Ends the edit occurring on the row. // // 异常: // T:System.Data.InRowChangingEventException: // The method was called inside the System.Data.DataTable.RowChanging event. // // T:System.Data.ConstraintException: // The edit broke a constraint. // // T:System.Data.ReadOnlyException: // The row belongs to the table and the edit tried to change the value of a read-only // column. // // T:System.Data.NoNullAllowedException: // The edit tried to put a null value into a column where System.Data.DataColumn.AllowDBNull // is false. [EditorBrowsable(EditorBrowsableState.Advanced)] public void EndEdit(); //来源:C/S框架网 | www.csframework.com | QQ:23404761
参考文档:
C#.Net对象内存模型及堆/栈数据结构详解 (一) C#.Net对象内存模型及堆/栈数据结构详解 (二) C#.Net对象内存模型及堆/栈数据结构详解 (三) C#.Net对象内存模型及堆/栈数据结构详解 (四) 详述IComparer,IComparable接口,实现自定义方法比较对象大小并排序(C#) bllBaseDataDict.CreateDataBinder方法详解及性能优化 实例化Loginer和DAL层对象,调用方法返回数据 C#.NET 对象(字符串)转换常用扩展方法 C#.NET扩展的动态对象支持动态属性和方法以及Json格式与对象互转 C#.NET 定义动态对象dynamic以及属性和方法 C#.NET 定义动态对象dynamic以及转换JSON字符串 数据字典BLL.CreateDataBinder方法实现新增记录给主键赋值 支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网 Entity Framework(EF):测试DbContext.Remove方法,对象状态管理器(Object State Manager) C#类扩展方法,字符串对象转换,常用扩展方法StringExtensions
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |