XAF-列表视图编辑模式
下面来看看XAF中列表有哪些编辑模式:
一、inline编辑
下图说明了WinForms和ASP.NET应用程序中的可编辑列表视图。
在win中,这个很友好,就像excel中编辑一样。5星功能^_^。
在web中,还需要点击一个按钮,这个个人感觉和弹出窗口没啥区别。当然,还是能够看到别的记录的信息,勉强用吧。

-
在VS中找到xafml文件,找到指定的列表视图
-
设置AllowEdit属性为真。
-
如果要允许新建功能,则需要设置AllowNew属性为真和IModelListViewNewItemRow.NewItemRowPosition属性为top或bottom。即是在上面还是下面显示新建的那一行。
WinForms的具体功能
拆分布局(MasterDetailMode属性)
即,左边的列表选中了哪条记录,右边的详细视图就显示哪条记录。很遗憾的告诉你,web中不支持这个。如果需要,则使用dashboardview自己定制!
下图显示了拆分布局。

要为特定列表视图启用拆分布局,请执行以下步骤。
-
打开xafml,展开视图并导航到对应于所需列表视图的子节点。
-
将IModelListView.MasterDetailMode属性ListViewAndDetailView
-
详细视图可以显示在列表视图的右侧或下方。导航到SplitLayout子节点,设置IModelSplitLayout.Direction属性,这里可以控制 水平或垂直。
对象可以有几个详细视图。该IModelListView.MasterDetailView属性允许您指定详细信息视图,将代表目前在列表视图中选择的对象。如果此属性值是空的,IModelListView.DetailView使用的价值。如果两个MasterDetailView和的DetailView属性是未指定的,那么 IModelClass.DefaultDetailView用于当前对象类型指定值。
自动提交更改
WinForms应用程序默认行为是,如果最终用户在编辑单元格后(使用inline编辑器或使用详细视图)关闭或离开窗口时,则显示确认对话框。

在视图中选择另一个对象或在窗口中选中另一个元素时,可编辑列表视图中所做的更改可以自动保存,无需确认。
使用ModificationsController.ModificationsHandlingMode和ModificationsController.ModificationsCheckingMode属性来更改编辑列表视图所需的行为。
ASP.NET特定功能
InlineEditMode属性
除了标准的编辑 操作,的ASP.NET Web应用程序XAF有特殊InlineEdit行动。虽然这个动作属于标准RecordEdit类,它不显示在主工具栏上。相反,它显示在列表编辑器的上下文菜单中,并在内部由列表编辑器处理。要自定义就地编辑模式在ASP.NET应用程序,使用IModelListViewWeb.InlineEditMode属性 视图 ->ListView 节点。

当使用了ASPxGridListEditor时IModelView.AllowEdit属性设置为真时。下表展示了不同的值的效果。
EditForm:按下编辑后,那一条记录没有了,显示成了右图的栏子。
EditFormAndDisplayRow: 按下编辑后,原来那一行还显示,同时出现一个编辑区域。
InLine
PopupEditForm:弹出一个窗口
Batch:
批量编辑,马上就要达到Excel那种方式了,完成后,需要按下SaveChages才会生效。
最大的遗憾是,当前还不支持引用类型和其他复杂类型。官方有说过复杂类型的支持方法。
我对官方未支持复杂类型表示理解,确实很复杂,比如要支持a*b=c回后台去计算。
比如要实现Appearce模块。比如。。。。反正很多功能要做。
我也对官方不支持复杂类型表示不理解,都特么几年了,还特么没出来这个功能。
期待这个功能完成,这个好就牛B了。
在批量编辑模式(Batch)具有一定的特殊性:
- 当用户单击一行时,不会调用详细视图。
- 如果新行不能被编辑和保存,请设置ASPxGridListEditor.UseASPxGridViewDataSpecificColumns属性设置为假。
- 几种数据类型不能被编辑:图像,引用,Criteria,文件附件。手动实现请看:如何在批量编辑模式编辑引用属性的主题。
- 使用新建命令后,对象的值被传到客户端,它就不会被更新了,即,没有回传到服务端计算结果再更新回列表的行为。
关联集合(集合属性编辑模式)
在XAF的web中两种编辑模式。
-
默认情况下,编辑模式下,下面的列表也可以编辑。
-
另一种模式,在查看时,下面的关联列表是可以编辑的。
全局的控制这个行为:
在设置WebApplication.CollectionsEditMode属性即可。
只想指定一个列表的模式时:模型编辑器,找到详细视图,设置 IModelDetailViewWeb.CollectionsEditMode属性即可。
XAF开发成品案例参考
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
作者博客: http://www.cnblogs.com/foreachlife
欢迎加入CIIP框架\XAF技术应用交流群: 336090194 群文件中有更多相关工具及文档资料
转载请注明出处。多谢!
欢迎加我微信: admiralcn 或扫码:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2016-01-11 XAF学习笔记之 Upcasting