EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

列表视图列自定义

当您实现一个持久对象时,XAF会自动生成两个列表视图以在UI中表示该对象-常规列表视图和查找列表视图。该意见| _ClassName__ListView视图| _ClassName__LookupListView 应用程序模型节点表示这些列表视图设置。这些节点公开列的列表(请参见IModelListView.Columns)。默认列集是根据“列表视图列生成”主题中描述的规则生成的。您可以在运行时或使用模型编辑器来更改列的可见性,宽度,顺序,过滤等。)。如果GridListEditor表示列表视图,则本主题描述列表视图自定义的不同方面。

设计时定制

可以在模型编辑器中执行设计时自定义。

  • WinForms和ASP.NET特定的方法

    如果要自定义WinForms和ASP.NET应用程序, 则应在模块项目级别执行自定义。若要仅自定义WinForms应用程序,请在Windows Forms Module Project级别上执行它们,对于ASP.NET Web应用程序,在ASP.NET Web Module Project级别上执行它们。

    每个ListView节点都有一个Columns子节点,提供对列设置的访问。选择“列”节点后,右侧的属性列表将替换为设计图,该设计图模仿当前View的网格,并填充有示例数据。这使您可以查看运行时网格的显示方式。请注意,WinForms数据网格是在设计时显示的。但是,自定义已正确应用于WinForms和ASP.NET应用程序。的节点显示代表所述一组在当前视图中可用列的节点的树。每个节点都提供对完整的列属性集的访问。

    GridListEditorDesigner_1

    如果默认配置不符合您的要求,则可以对其进行修改。通过拖动两个列标题之间的分隔符来缩放列,或者拖放列标题以重新排列列。您可以通过将其拖动到表格外来隐藏该列。您还可以应用排序分组过滤。要显示隐藏的列,请在表标题上单击鼠标右键,然后选择“选择器”。

    Tutorial_UIC_Lesson16_1

    将调用“定制”窗口,您可以将所需的列从该窗口拖动到“视图”,反之亦然。按照显示该列将来位置的图形提示进行操作。

    Tutorial_UIC_Lesson16_1_2

    您可以使用“添加...”和“删除”按钮来管理“定制”窗口中显示的属性。要显示不在列表中的属性(例如,引用对象的属性或自定义字段),请单击添加...,然后在对象模型窗口中选择所需的属性,然后单击添加。该属性现在显示在“定制”窗口中,您可以如上所述将其添加到网格中。

    GridListEditorDesigner_4

    如果需要应用摘要,请选择ListView节点,将其IsFooterVisible属性设置为True,然后选择ListView |。节点。现在,页脚显示在“列表视图”中,您可以向其中添加所需的摘要。

    GridListEditorDesigner_6

    除了以可视方式配置列的功能之外,还可以使用“列”节点的子节点进行以下自定义:

    • 显示,隐藏和重新排序列

      “子节点有索引属性。使用此属性设置列顺序。负值将隐藏相应的列。

    • 组列

      将列的GroupIndex属性设置为非负整数值。该值表示该列在组列集合中的位置。该的GroupIndex属性的值决定了分组水平。例如,如果索引为0,则首先针对该列对行进行分组,然后针对随后的列组进行分组。将列的GroupIndex属性设置为-1,以按特定列取消行的分组。

    • 编辑标题

      将字符串分配给列的Caption属性。该字符串显示为列名。

    请参阅IModelColumn成员列表以了解有关可用定制的更多信息。

    提示

    您可以将列按逻辑组(带)排列。有关更多详细信息,请参考“列表视图区域布局”主题。

  • 特定于移动设备的方法:

    要自定义移动应用程序,请在“移动模块项目”级别执行自定义。

    在Mobile应用程序中,每个ListView节点都有一个ColumnsRowLayout子节点。“列”节点包含可以在列表视图中显示的所有列,“行布局”节点仅包含在列表视图中显示的列。默认情况下,仅显示一个组列。您可以使用RowLayout节点自定义此列或添加一个新(Columns的节点不影响List View布局)。

    您可以添加新的“布局视图项目”,如果需要,可以按“布局组”对它们进行分组。

    ModelEditor_RowLayout

    使用ColumnsRowLayout节点的子节点可以使用以下自定义项:

    • 组列

      在“”子节点的设置中,将列的GroupIndex属性设置为非负整数值。您只能按一列实施分组。该值表示该列在组列集合中的位置。将列的GroupIndex属性设置为-1,以按特定列取消行的分组。

    • 隐藏列标题

      默认情况下显示列标题。要隐藏它,请在RowLayout的子节点设置中将ShowCaption属性设置为false

注意

您在模块编辑器中为模块项目(应用程序项目)调用的更改将保存到此模块项目中的Model.DesignedDiffs.xafmlModel.xafml)文件中。当您运行应用程序时,这些更改将替换以前的值。确保其他* .xafml文件中的值不会替换您的值。为此,请查看在* .xafml文件之后加载的* .xafml文件,包括在运行时生成的Model.User.xafml。有关应用程序模型的层结构的详细信息,请参阅“应用程序模型基础”主题。

运行时自定义

WinForms运行时自定义功能与模型编辑器ListView | | | | | | | | | | | | 节点提供。有关更多信息,请参考设计时定制部分。

GridListEditorDesigner_2

ASP.NET的网格的自定义功能是从的WinForms略有不同。您应该使用标题的上下文菜单隐藏列,而不是拖动它们。另外,无法手动调整列大小。

GridListEditorDesigner_3_ASP

移动应用程序不支持运行时自定义。

您可以使用ResetViewSettings操作来撤消当前列表视图中的所有运行时自定义项。

冻结列索引

如果已经为业务类“列表视图”配置了列,然后添加或删除了该类的公共属性,则列集会自动更改,可能需要重新配置它。但是,您可以通过将ListViewView节点的FreezeColumnIndices属性设置为True来“锁定”自定义项。在这种情况下,当前列索引状态将被复制到模型差异中,并且先前层的任何更改都将被忽略。默认情况下隐藏随后生成的列。将FreezeColumnIndices属性设置回False,默认情况下会将列配置重置为生成的配置。

GridListEditorDesigner_5

相关文章

转载保留此链接,注明出处