扩展属性的网页呈现

在后台定义的扩展属性,在前提网页呈现时,有如下细节:

  • 通过页面控件 erp:ConfigListRenderer 导入配置,其中 Fields 定义  p:3;4;9 表示读入扩展属性编号为3, 4, 9的项目;pl:3, pl:4,表示读入扩展属性编号为3, 4的项目的下拉选择项目,以逗号隔开,每一个定义读入一个表格数据,Condition 定义读取的扩展属性所在模块,如6表示客户模块,8表示产品模块,见存储过程 ep_get_configurations
  • 控件的实质,是继承自 ListRenderer,调用了存储过程 ep_search_configurations ,传递了模块参数 Parameters="condition=8",ListCount设置成了0,意味着也可以直接使用 ListRenderer 呈现数据。
  • 可以通过方法 string GetLabel(int tableIndex, object value, string labelField = "label"),读取 tableIndex 指定的表格索引,编号值为 value,默认字段为 label 的值。
  • 可以通过方法 string CreateSelect(int tableIndex, ListSpec spec),创建简单的 select 网页标签内容。
  • 可以通过方法 string CreateRadios(int tableIndex, ListSpec spec, bool radio = true),创建简单的 radio/checkbox 网页标签内容。
  • 查询条件,名称为后台扩展属性名称,如 ex_location,会自动汇总扩展属性查询条件到字段 @ex_items 值进行查询。
  • 查询浏览的字段,在 Parameters 属性,fields值中通过 ex.ex_*** 定义,如果需要全部读取,配置 ex.* 。

ListSpec 定义了列表控制参数:

  • Name: 列表名称
  • IdField: 编号字段名称
  • LabelField: 标签字段名称
  • ClassNames: 样式名称
  • BlankLabel: 没有值的项目标签
  • DefaultValues: 默认值数组,默认会读取通过 POST 或者 GET 方法传递的同名参数值

可以通过快捷方式定义参数:new ListSpec {Name: "select_item", BlankLabel: "---"}。