CRUDProxy Class

CRUD 代理类。

Definition

Namespace: QuickAdmin.RCL
Assembly: QuickAdmin.Net (in QuickAdmin.Net.dll) Version: 1.0.122
C#
public class CRUDProxy : ICRUDProxy
Inheritance
object    CRUDProxy
Implements
ICRUDProxy

Remarks

此类是通用 CRUD UI 与通用 CRUD 服务之间进行通信的代理类,提供了若干属性、方法来对 UI 进行定制以及对用户操作进行响应。
每个代理的 TypeAlias 为其唯一标识,将被作为一个必须提供的参数传递给所有通用 CRUD 处理页面。
可通过 json 配置文件或通过继承此类并重写相关属性、方法来对全局代理或某实体类型的代理进行定制。 每个代理对应的配置文件为 CRUDProxyCfgFullPath 目录下的 TypeAlias 指向的 ".json" 文件。 可配置项目参见 CRUDProxyProxyConfiguration

Constructors

CRUDProxyInitializes a new instance of the CRUDProxy class

Properties

Public Properties

AddPageUrl 添加页面的 Url。
AllowFilterValueStartsWithOperator 指示是否允许用户输入的过滤条件值以比较运算符打头,如 "=10""==10" 表示等于 10,">=10" 表示大于等于 10,"==" 则表示 "is null" 等等。
ApplyCategoryFilterImmediately 指示用户在类别下拉框进行选取后,是否立即执行查询,而不是点击按钮后才执行查询。
CategoryFilterEditable 指示类别过滤条件是否可编辑,即类别下拉框是否可输可选。
CategoryFilterOrderBysOfNavigatedByType 类别过滤条件属性导航到的实体类型的排序字段。
注意这里是字段,不是实体属性。可设置多个字段,用逗号隔开,可包含排序方向以及其它选项语句。
CategoryFilterPropertyName 类别过滤条件属性名称,即用来构造类别过滤条件的实体属性名称。
CategoryFilterPropertyTitle 类别过滤条件属性标题。
CategoryFilterTextPropNameOfNavigatedByType 类别过滤条件属性导航到的实体类型的文本属性名称。
CtrlWidthOfFilterCategory 列表页类别过滤条件控件的宽度。
CtrlWidthOfFilterEnum 列表页枚举过滤条件控件的宽度。
CtrlWidthOfFilterPropertyName 列表页属性名称过滤条件控件的宽度。
CtrlWidthOfFilterPropertyValue 列表页属性值过滤条件控件的宽度。
DateTimeFilterPropertyName 日期时间过滤条件属性名称,即用来构造日期时间过滤条件的实体属性名称。
DateTimeFilterPropertyTitle 日期时间过滤条件属性标题。
DateTimeFilterTimePrecision 日期时间过滤条件的时间精度。只支持到秒,不支持输入毫秒。
DefaultOrderBys 指示列表数据的默认排序字段。
DefaultSortListDescending 指示列表数据是否默认为降序排序。
DetailsPageUrl 数据详情页的 Url。
EditPage 编辑页设置。
EditPageUrl 编辑页面的 Url。
EntityPrimaryKeyType 实体主键数据类型。
EntityTitle 实体标题。
EntityType 实体类型。
EntityUpdatable 指示实体是否可编辑。
EnumFilterPropertyName 枚举过滤条件属性名称,即用来构造枚举过滤条件的实体属性名称。
EnumFilterPropertyTitle 枚举过滤条件属性标题。
FilterDefaultValue 列表页过滤条件默认值设置。
GridControl 列表页表格控件设置。
GridPageSize 列表页表格分页大小。
GridTitle 列表页的表格的标题。
HiddenPropertyNamesForDataList 指示列表页的列表中要包含的,被设置为隐藏状态的属性名称。
IncludePropertyNamesForISelect 一个字符串数组,指示在查询时要包含的属性(将会调用 ISelect.Include() 相关方法)。
IsISortableEntity 指示实体是否是 ISortableEntity 类型。
ListEditable 指示列表页是否允许编辑操作(增删改等)。
ListFilterable 指示列表页是否允许显示过滤条件。
ListPageCss 列表页 css 资源。
ListPageJs 列表页 js 资源。
ListPageTitle 列表页的页面标题。
ListSortable 指示列表页是否允许用户进行排序操作。
NoSelRequiredListCmds 指示在列表页中,哪些命令(即用户操作)不需要先选取记录。
OpenNewPageIn 在列表页中打开新页的目标位置。
PopupWindowEnableMaximizeOpenNewPageInPopupWindow 时,弹出的窗口是否允许最大化。
PopupWindowHeightOpenNewPageInPopupWindow 时,弹窗的像素高度。
PopupWindowWidthOpenNewPageInPopupWindow 时,弹窗的像素宽度。
PropertiesForDataList 指示列表页的列表中要显示的属性。
PropertiesForEditPageQFData 指示在编辑页编辑记录时,客户端 QF.currentInput 对象包含的属性。
PropertiesForFilters 指示属性名称过滤条件下拉框要显示的属性。
PropertiesForInputForm 指示编辑页的表单中要显示的属性。
RegisteredProxies 获取已注册代理。
SetEntityOperatorName 指示在查询实体时是否自动填充审计类实体中的操作用户姓名相关属性,如 CreatorNameUpdaterName 等。
ShowDisplayOrderButtons 指示列表页是否可对 ISortableEntity 类型的实体显示用来调整记录显示顺序的按钮(置顶、上移、下移、置底)。
ShowTwoSetsOfFilterProperties 指示在列表页过滤条件位置是否显示两组属性条件。
SpreadDisplayOrderButtons 指示是否展开列表页用来调整记录显示顺序的按钮。
共有四个操作:置顶、上移、下移、置底。若不展开,将显示为一个包含四个子菜单项的下拉菜单按钮,若展开,则显示为四个按钮。
SpreadFilterPropertyNameCtrl 指示是否展开列表页属性名称过滤条件控件。
SupportMultiSelListCmds 指示在列表页中,哪些命令(即用户操作)支持多选。
TreatEmptyFilterValueAsNull 指示是否将过滤条件空值按数据库空值处理。
TypeAlias 类型别名。

Protected Properties

authService 认证服务。
crudService 获取当前实体的 CRUD 服务。
dataRights 代理数据权限配置。
dbTableName 获取当前实体类型对应的数据库表名称。
deptService 组织机构实体服务。
entityProperties 获取记录当前实体所有相关属性信息的数组。
exService 异常日志服务。
fsql 本代理要操作的数据所用的 IFreeSql 实例(目标数据库)。
opLogModule 获取本代理操作的实体对应的操作模块的名称。
opLogObject 获取本代理操作的实体对应的操作对象的名称。
proxyCfg 获取当前代理的配置信息。

Methods

Public Methods

AddEntity 添加记录。
AutoRegisterProxies 自动搜索配置文件并注册代理。
BeforeSaveData 保存数据前执行的方法。
DeleteEntities 删除记录。
DeleteEntitiesByFilter 删除指定过滤器代表的实体。
GetCategoryDataSource 获取类别属性的数据源。
GetDetails 获取记录详情。
GetEditPageFormTitle 获取编辑页中表单的标题。
GetEditPageTitle 获取编辑页的页面标题。
GetEditPageToolbarButtons 获取编辑页工具栏按钮配置信息。
GetEntity 获取指定记录。
GetEntityInputData 获取实体输入数据。
GetEntityProperty 获取实体指定属性的信息。
GetEntityPropertyDataSource 获取实体指定属性的数据源。
GetEnumFilterDataSource 获取实体枚举属性的数据源。
GetGridTitle 获取列表页的表格的标题。
GetInitFilter 获取初始过滤器,即页面打开时要显示的数据。
GetListPageTitle 获取列表页的页面标题。
GetListToolbarButtons 获取列表页工具栏按钮配置信息。
GetPagingOutput 执行分页查询。
GetProxy 按权限获取代理。
GetQFCurrentInputObjectForEditPage 获取编辑页编辑记录时,用来创建客户端 QF.currentInput 对象的对象。
GetQFCustomDataObjectForListPage 获取用来创建列表页里的客户端 QF.customData 对象的对象。
GetReadonlyPropertyNamesWhileEditing 获取在编辑指定记录时,哪些属性是只读的。
GetRegisteredProxy 获取已注册的代理。
MoveEntityAndResetDisplayOrder 移动指定记录并重置所有受影响记录的显示顺序。
NewEntity 创建实体新实例。
OnEditPageCustomCommand 编辑页执行自定义命令的方法。
OnListPageCustomCommand 列表页执行自定义命令的方法。
RegisterProxiesInEmbeddedResource 注册配置信息保存在指定嵌入资源文件里的代理。
RegisterProxy(string, Type, object) 使用指定的类型别名和实体类型注册代理。
RegisterProxyTProxy, TEntity(string, object) 使用指定的类型别名以及代理类型、实体类型注册代理。
RegisterProxyByConfiguration(string) 依据指定的类型别名对应的配置文件里的配置信息注册代理。
RegisterProxyByConfiguration(string, CRUDProxyProxyConfiguration) 依据指定的配置信息,用指定的类型别名注册代理。
RegisterProxyByConfiguration(string, string) 依据传入的 json 字符串里的配置信息,用指定的类型别名注册代理。
UnregisterAllProxies 注销所有代理。
UnregisterProxies 注销实体类型为指定类型的所有代理。
UnregisterProxy 注销指定的代理。
UpdateEntity 更新记录。

Protected Methods

CheckFilterRight 检查过滤器权限。
CheckRights 检查当前登录用户是否具有当前代理所设置的权限。
FetchFromEntityPropertiesByNamesentityProperties 里提取指定名称的属性信息。
FindCRUDService 查找与当前实体类型匹配的 CRUD 服务的方法,在注册代理或重新加载代理配置时被调用。
GetEntityTypeByAlias 由指定的类型别名获取对应的实体类型。
GetRootDeptId 获取数据对当前登录用户可见的最高层级部门的 Id。
IdFromObject 由传入的 id 值获取等效的 EntityPrimaryKeyType 类型的实体主键值。
InitMembers 代理初始化方法,在注册代理或重新加载代理配置时被调用。

Fields

Public Fields

MultilineStringLengthBoundary 一个常量,指示字符串类型字段的长度边界,长度超过此值的字段将在录入界面显示为一个多行文本输入框。

See Also