Options
All
  • Public
  • Public/Protected
  • All
Menu

数据源基类 1.记录的排序 2.记录的修改独立保存 3.数据库更新 4.数据库数据加载 5.组件的显示数据源

Hierarchy

Implements

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

$elemt

$elemt: JQuery<HTMLElement>

组件的最外层的jquery对象 注意: 如果在运行时操作该对象会造成不可预知的错误. 谨慎!!!

__typeid

__typeid: string = 'DataSourceBase'

Private _datas

_datas: ZlCollection<Row> = ...

数据

Private _totals

_totals: ItotalResult

合计对象

active

active: boolean

设计模式下 焦点状态

autoActive

autoActive: boolean = true

数据源是否自动获取数据 WM_PAGE_LOAD 消息触发 注意:如果同时注册WM_PAGE_LOAD存在触发顺序问题.

background

background: string

组件背景

baseParams

页面的参数

canChildComponentsDrag

canChildComponentsDrag: boolean

设计模式下是否允许拖拽子组件 默认: true 注意:这个是子组件不能拖了,不能接受外部拖进来的元素

canChildComponentsDragPull

canChildComponentsDragPull: boolean

设计模式下是否可以拖拽子组件到外部 默认: true

canChildComponentsDragPut

canChildComponentsDragPut: boolean

设计模式下是否可以在接受外部拖拽进来的组件 默认: true

canChildComponentsDragSort

canChildComponentsDragSort: boolean

设计模式下是否允许子组件拖拽排序 默认: true 注意:子组件选都选不到焦点但是能接受外部拖进来的元素 与 disabled差异

canChildFocus

canChildFocus: boolean

设计模式下子元素是否允许点击获取焦点包含tab按键

canCopy

canCopy: boolean

设计模式下是否允许拷贝

canCut

canCut: boolean

设计模式下是否允许剪切

canDelete

canDelete: boolean

组件设计模式下是否允许删除

canDesignModePointEvents

canDesignModePointEvents: boolean

是否允许设计模式下点击组件内部 运行模式下无效

canFocuse

canFocuse: boolean

设计模式下是否允许获取焦点

canMenu

canMenu: boolean

设计模式下是否右键选择组件时候弹出的菜单

canPaste

canPaste: boolean

设计模式下是否允许粘贴

childComponentDragFilterSelector

childComponentDragFilterSelector: string

禁止子组件的拖拽过滤字符串

childComponentDragSelector

childComponentDragSelector: string

允许子组件的拖拽过滤字符串

css

css: InvisibleBaseStyle

记录组件样式类型

cssString

cssString: string

自定义样式

Private current

current: number = 0

当前记录索引 当无记录时候 返回-1

dao

dao: IDao[]

数据库操作

Protected dependencies

dependencies: IDependency[] = ...

designPopMenu

designPopMenu: Contextmenu

设计模式下的右键弹出菜单

dragFilter

dragFilter: string

设计模式下不可以拖拽的jquery 类名

draggableClass

draggableClass: string

设计模式下可以拖拽的组件

draggableCompnent

draggableCompnent: any

设计模式下可以拖拽组件类

draggableInheritCompnent

draggableInheritCompnent: any

设计模式下可以拖拽的继承的父组件类

draggablextype

draggablextype: any

设计模式下可以拖拽组件xtype

enable

enable: boolean

是否可用 是否可以有焦点,事件 等等

eventsSuspended

eventsSuspended: boolean

是否事件暂停 一般是数据源初始化时候停止事件.

Private extraParamCallbacks

extraParamCallbacks: extraParamHandle[] = ...

保存获取额外参数的回调函数数组

fields

fields: IField[]

字段数组

hide

hide: boolean

组件隐藏/显示 true 隐藏 ,则反之

hitTitle

hitTitle: string

鼠标停留时候提示信息

Readonly id

id: string

组件的id

ignorePage

ignorePage: boolean

取消分页

isDropCreate

isDropCreate: boolean

设计模式下是否拖拽释放时候创建的组件 有些组件需要区分这个,来增加默认值

items

items: ComponentBase[]

子组件数组包含可视组件 (页面渲染时候会按顺序渲染这个数组) 如果需要自定义组件渲染的子组件的顺序 @see doRenderChilds

keys

keys: string[]

主键

lastOptions

lastOptions: IDsLoadOptions

最后一次load 保存的 options

left

left: string

相对page的x坐标

Private masterDarasourceId

masterDarasourceId: string

主数据源

modified

modified: Row[] = ...

保存修改过的行 数据提交时候要用到里面的行生成changes

name

name: string

组件名称

parentCmp

parentCmp: ComponentBase

父组件

proxy

数据获取

reader

数据格式读取reader

relField

relField: string

主表字段

remoteSort

remoteSort: boolean = false

远程排序

repeatPost

repeatPost: boolean

重复提交

requstId

requstId: string

请求的id 这个id主要用于校验重复提交的问题

showPostLoading

showPostLoading: boolean

显示保存的对话框

sortInfo

sortInfo: ISortInfo

排序信息

sortToggle

sortToggle: any[]

排序转化????

state

state: DatasourceState = ...

数据源的状态 建议不要在外部修改这个状态

tag

tag: any

组件的可附带一些标志的 用于附带一下参数

top

top: string

相对page的y坐标

totalLength

totalLength: number

总数量

urlScript

urlScript: string

查询请求的url

writer

数据提交或者获取的writer

Readonly xtype

xtype: string

组件的唯一类型标志(这个是不能重复的哦)

Methods

Protected addDependencies

addEvents

  • addEvents(...args: any[]): void
  • 注册事件绑定的

    Parameters

    • Rest ...args: any[]

      事件唯一标志字符串

    Returns void

addExtraParamCallBack

  • 增加附带额外参数回调函数 用于在数据源查询时候附带参数

    Parameters

    Returns void

addFields

  • 添加表模型的字段到数据源

    throws

    Error 数据源字段[XXXXX]重复,无法新增字段.

    Parameters

    Returns void

addFirstRowDatas

  • addFirstRowDatas(datas: object | Object[]): Row | Row[]
  • 根据数据数组在数据源首位新增数据行 新增行会被记录到modified里

    Parameters

    • datas: object | Object[]

      数据对象数组或者对象

      ds.addRowDatas([{field1:value1,field2:value2,field3:value3,field4:value4...}]);
      ds.addRowDatas({field1:value1,field2:value2,field3:value3,field4:value4...})
      

    Returns Row | Row[]

    返回新插入的行实例或者行实例数组

addMataRow

  • addMataRow(rows: Row[]): void
  • 增加行到数据源的_Datas 只是单纯的增加没做,不会记录到modified里

    Parameters

    • rows: Row[]

      行数组

    Returns void

addRow

  • 新增数据行 会被记录到modified里

    Parameters

    • rows: Row | Row[]

      行的数组或行实例

    Returns Row[]

    返回新增的行实例数组

addRowDatas

  • addRowDatas(datas: object | Object[]): Row | Row[]
  • 根据数据数组在数据源最后新增数据行 新增行会被记录到modified里

    Parameters

    • datas: object | Object[]

      数据对象数组或者数据对象

      ds.addRowDatas([{field1:value1,field2:value2,field3:value3,field4:value4...}])
      ds.addRowDatas({field1:value1,field2:value2,field3:value3,field4:value4...})
      

    Returns Row | Row[]

    返回新插入的行实例数组

afterCommit

  • afterCommit(row: Row): void
  • 提交记录的修改

    Parameters

    • row: Row

      已修改的记录

    Returns void

afterEdit

  • afterEdit(row: Row): void
  • 结束修改记录

    Parameters

    • row: Row

      需要修改的记录

    Returns void

afterReject

  • afterReject(row: Row): void
  • 取消记录修改

    Parameters

    • row: Row

      已修改的记录

    Returns void

appendBlankRow

  • appendBlankRow(rowId?: any): Row
  • 新增空行并把current设置成当前空行index 把current设置当前新增的行

    Parameters

    • Optional rowId: any

      可选参数 行主键id

    Returns Row

    返回新增的行实例

appendChildCmp

  • 在组件数组后面增加子组件 这里只是组件的实例增加,页面并没重画

    Parameters

    Returns void

appendChildHtmlElemt

  • 添加子组件的html 子类可以自定实现自定义的添加子组件的实现方式.

    Parameters

    Returns void

applySort

  • applySort(): void
  • 开始排序

    Returns void

borcast

  • borcast(msg: string, param?: any): void
  • 给子组件广播发送消息

    Parameters

    • msg: string

      消息

    • Optional param: any

      跟随消息传递的参数

    Returns void

checkCanDragMove

checkDragAccept

clear

  • clear(): void
  • 清除所有的数据

    Returns void

clearAllEvents

  • clearAllEvents(): void
  • 清除所有已经注册的事件处理 注意:该函数一般是页面关闭时候才调用 防止重复调用.如果是运行中调用会导致未知的异常错误

    Returns void

clearAllField

  • clearAllField(): void
  • 清空数据源字段列表

    Returns void

clearModified

  • clearModified(): void
  • 清理所有的修改数据

    Returns void

clearParam

  • clearParam(): void
  • 清理已经保存的参数

    Returns void

commitChanges

  • commitChanges(): void
  • 提交所有的记录修改 会触发所有修改记录的afterCommit

    Returns void

copy

  • copy(): void
  • 设计模式下复制组件 子类可以覆盖此方法来实现自定义复制

    Returns void

createRowInst

  • createRowInst(data: Object): Row
  • 创建一个行实例,可以用于创建数据行实例 注意:这个行与数据源无任何关系

    Parameters

    • data: Object

      数据对象

      let row = ds.createRowInst({RWID:value1,field2:value2,field3:value3,field4:value4...});
      

    Returns Row

    返回新的行实例

cut

  • cut(): void
  • 设计模式下剪切组件 子类可以覆盖此方法来实现自定义剪切

    Returns void

deleteRow

  • deleteRow(row: Row | Row[], isRemoveModified?: boolean): void
  • 删除行没有记录到modified里面 只是单纯的删除行.这个函数移除的的行与removeRow的区别是 getChanges() 得不到被这个函数移除的行

    Parameters

    • row: Row | Row[]

      行实例/ 行的实例数组

    • isRemoveModified: boolean = true

      是否移除modified的行.(默认: true)

    Returns void

deserialize

  • deserialize(jsonStr: string): any
  • 反序列化

    Parameters

    • jsonStr: string

      json字符串

    Returns any

    返回组件对象

destory

  • destory(): void
  • 释放资源析构函数.组件移除之前会调用 一般不要主动调用. 该函数并没有删除和释放组件.只是调用了组件的资源释放函数

    Returns void

Protected doCanChildComponentsDragPut

  • doCanChildComponentsDragPut(): boolean
  • 设计模式下允许拖入的组件类名正则表达式 子类可以通过覆盖这个函数实现自定义下拉的弹出菜单

    reutns

    true 时候可以运行任何组件,则反之只允许匹配到的.

    Returns boolean

Protected doCanDragSort

  • doCanDragSort(): boolean

Protected doDesigningDbClick

  • doDesigningDbClick(): void

Protected doDestory

  • doDestory(): void
  • 释放资源函数.组件移除之前会调用 一般用于释放资源和反注册消息处理函数

    Returns void

Protected doDragEnd

  • doDragEnd(e: any): void
  • 组件结束拖拽事件 子类可以覆盖此方法实现自定义拖拽时的规则

    Parameters

    • e: any

      拖拽事件对象

    Returns void

Protected doDragPull

  • doDragPull(to: any, from: any, dragEl: any, event: any): boolean
  • 用来进行拖出元素的函数判断,可以进行复杂逻辑,在函数中 子类可以覆盖此方法来自定义是否可以在拖拽时移出组件

    Parameters

    • to: any

      目标

    • from: any

    • dragEl: any

      拖拽的对象

    • event: any

    Returns boolean

    false/true来判断是否可以移出;

Protected doDragPut

  • doDragPut(to: any, from: any, dragEl: any, event: any): boolean
  • 用来定义是否可以往组件放置,true/false 子类可以覆盖此方法来自定义是否可以在拖拽时移入组件

    Parameters

    • to: any

      目标组件

    • from: any

      源组件

    • dragEl: any

      拖拽的对象

    • event: any

    Returns boolean

    false/true来判断是否可以移入;

Protected doDragStart

  • doDragStart(e: any): void
  • 组件开始拖拽的时候事件 子类可以覆盖此方法实现自定义拖拽时的规则

    Parameters

    • e: any

    Returns void

Protected doF1Help

  • doF1Help(): void
  • 设计模式下按f1干的事情

    Returns void

doGetClassName

  • doGetClassName(): string

doGetCss

  • doGetCss(): object
  • Returns object

Protected doGetCustomDesignerMenuItems

  • doGetCustomDesignerMenuItems(): IMenuItem[]

Protected doGetDefalutDesignerMenuItems

  • doGetDefalutDesignerMenuItems(): IMenuItem[]

doGetElemtHtml

  • doGetElemtHtml(): string

Protected doInitCompnentEvent

  • doInitCompnentEvent(): void

Protected doInsertChildCmp

  • doInsertChildCmp(childCmp: ComponentBase, index?: number): void

Protected doInsertChildCmpAfter

Protected doLoadRowsByKeysCallBack

  • 局部更新数据行

    Parameters

    Returns void

Protected doLoadRowsCallBack

  • 数据转化recoreds 子类可以覆盖该函数

    Parameters

    Returns void

Protected doOnDragMove

  • doOnDragMove(e: any, originalEvent: Event): boolean | 1 | -1
  • 组件拖拽时的事件

    Parameters

    • e: any
    • originalEvent: Event

    Returns boolean | 1 | -1

Protected doRemove

  • doRemove(isMove?: boolean): void
  • 移除自己 by gk 子类可以覆盖此方法来实现自定义移除

    Parameters

    • isMove: boolean = false

      可选参数 默认true 是否是组件移动时候的场景(这个时候无需设置最近的组件获取焦点)

    Returns void

Protected doRemoveChildComponent

  • doRemoveChildComponent(child: ComponentBase, isDestory?: boolean): void
  • 直接在子组件数组删除子组件

    Parameters

    • child: ComponentBase

      子组件

    • isDestory: boolean = false

      可选参数; 是否要释放资源,默认 false;

    Returns void

Protected doRender

  • doRender(): void
  • Returns void

Protected doRenderBackground

  • doRenderBackground(): void
  • 渲染组件的背景颜色 子类可以通过覆盖这个函数实现自定义的背景颜色

    Returns void

Protected doRenderEnable

  • doRenderEnable(): void
  • 渲染用于属性 子类自己继承覆盖实现

    Returns void

Protected doRenderFocuse

  • doRenderFocuse(): void
  • 渲染出焦点的边框 by gk 子类可以覆盖此方法来自定义焦点

    Returns void

Protected doRenderHide

  • doRenderHide(): void
  • 渲染组件UI的是否可视 子类可以通过覆盖这个函数实现自定义的隐藏/显示

    Returns void

Protected doRenderHitTitle

  • doRenderHitTitle(): void

doUpdate

  • doUpdate(): void
  • 更新组件,当修改了属性时候需要修改重新画组件的时候调用. 子类可以覆盖来自定义更新重画

    Returns void

eachChild

eachChildEx

  • eachChildEx(eachCallback: (cmp: ComponentBase) => any, onlyChild?: boolean): void
  • 遍历所有子子孙组件 如果要中断循环返回 false

    Parameters

    Returns void

eachRow

  • eachRow(eachCallBack: (item: Row, index: number, len: number) => void, scope: object): void
  • 循环遍历每条记录

    Parameters

    • eachCallBack: (item: Row, index: number, len: number) => void

      遍历数据回调函数

        • (item: Row, index: number, len: number): void
        • Parameters

          • item: Row
          • index: number
          • len: number

          Returns void

    • scope: object

      范围,一般是调用的this

    Returns void

extistComponent

  • extistComponent(childCmp: any): boolean
  • 判断是否存在组件

    Parameters

    • childCmp: any

      需要判断存在的组件

    Returns boolean

    成功就返回true,否则返回false

Protected filterBy

  • 过滤

    Parameters

    Returns void

find

  • 本地数据查找行 例子: var row= ds.find((row)=>{return row.get('FieldName')=='xxxyyy'});

    Parameters

    Returns Row

    返回记录的Row实例

findChildComponentById

  • 通过组件id来获取子组件

    Parameters

    • cmpId: string

      组件Id

    Returns ComponentBase

    成功返回组件实例,否则返回undefine

findChildComponentByName

  • 通过组件name来获取子组件

    Parameters

    • cmpName: string

      组件name

    Returns ComponentBase

    成功返回组件实例,否则返回undefine

findChildComponents

  • findChildComponents<T>(callback: (item: ComponentBase) => Boolean): T[]
  • 通过一个回调函数的放回值来查找组件实例

    Type parameters

    • T

    Parameters

    • callback: (item: ComponentBase) => Boolean

      遍历整个函数组件树的回调,返回true时候符合条件,否则

    Returns T[]

    返回找到的找到的组件

findComponentById

  • 通过组件id来获取子子孙孙组件

    Parameters

    • cmpId: string

      组件Id

    Returns ComponentBase

    成功返回组件实例,否则返回undefine

findComponentByName

  • 通过组件name来获取子子孙孙组件

    Parameters

    • cmpName: string

      组件name

    Returns ComponentBase

    成功返回组件实例,否则返回undefine

findComponents

  • 通过组件的类来获取组件实例

    Type parameters

    • T

    Parameters

    Returns T[]

    返回找到的找到的组件数组

findDataByCon

  • 查找数据,注意这个并不会把查到数据加载的数据源的rows内,查找的数据都是在回调函数内返回

    Parameters

    • conditions: IAdvQueryItem[]

      条件IAdvQueryItem数组

    • Optional callback: (ret: IRetVo) => void

      数据回调函数

    Returns void

findIndex

  • 本地数据查找行 例子: var index= ds.findIndex((row)=>{return row.get('FieldName')=='xxxyyy'});

    Parameters

    Returns number

    返回记录的位置索引index

findInsertIndex

  • findInsertIndex(row: Row): number
  • 新增记录并返回记录的index 由于排序的存在导致新加进去的记录是乱的

    Parameters

    • row: Row

      需要新增的记录

    Returns number

    新增记录后的index

getAt

  • getAt(index: number): Row
  • 获取第index位置的行

    Parameters

    • index: number

      记录位置

    Returns Row

    返回对应的记录

getAttrEditors

getAttrsByClassName

  • 获取组件的属性编辑器数组

    Parameters

    • clazz: any

      组件的类 (注意:这里必须是类,不能是组件的实例.)

    Returns AttributeEditorBase[]

    返回组件的属性编辑器数组

getById

  • getById(id: string): Row
  • 通过Id获取行

    Parameters

    • id: string

      行主键值

    Returns Row

    返回对应的记录

getChangeDatas

  • getChangeDatas(state: RowState): object[]
  • 获取某个修改状态的修改数据

    Parameters

    • state: RowState

      修改状态 取值: insert,update,delete

    Returns object[]

    返回对应修改状态的数据数组

getChanges

  • 获取修改的数据用于提交 [ {__state:add,id:v2,f1:v1 ,__orig:{}}, {__state:modfy,id:v3,f1:newv1,__orig:{}}, {__state:delete,id:v3,__orig:{}} ]

    __orig:原来的行的值

    Returns IChangeData[]

    返回用户提交的数据如上

getCheckRow

  • getCheckRow(): Row
  • 获取checbox==true选择的记录 如果存在checkbox,否则返回null

    Returns Row

    返回当前记录 当数据源是空时候返回 null

getChildComponentByType

  • getChildComponentByType<T>(classDef: any): T
  • 通过组件的类来获取子孙组件实例

    Type parameters

    • T

    Parameters

    • classDef: any

      需要查找的子孙组件的类

    Returns T

    返回找到的找到的组件

getChildComponentsByType

  • getChildComponentsByType<T>(classDef: any): T[]
  • 通过组件的类来获取子孙组件实例数组

    Type parameters

    • T

    Parameters

    • classDef: any

      需要查找的子孙组件的类

    Returns T[]

    返回组件实例数组

getComponentByType

  • getComponentByType<T>(parent: any, classDef: any): T
  • 通过组件的类来获取组件实例

    Type parameters

    • T

    Parameters

    • parent: any

      父组件

    • classDef: any

      需要查找的子组件的类

    Returns T

    返回找到的第一个组件

getComponentsByType

  • getComponentsByType<T>(parent: any, classDef: any): T[]
  • 通过子孙组件的类来获取子孙组件实例

    Type parameters

    • T

    Parameters

    • parent: any

      父组件

    • classDef: any

      需要查找的子孙组件的类定义

    Returns T[]

    返回找到的找到的组件数组

getCount

  • getCount(): number
  • 获取当前数据源数量 (本页的数量)

    Returns number

    数据源的记录数量

getCurrent

  • getCurrent(): number
  • 获取当前的行index

    Returns number

    行的索引

getCurrentRow

  • getCurrentRow(): Row
  • 获取当前的记录 如果没指定默认返回第一行

    Returns Row

    返回当前记录 当数据源是空时候返回 null

getCustomDesignerMenuItems

getCxt

  • 得到页面上下文 上下文保存了资源的权限,resid...

    Returns ScriptContext

    上下文实例

getDataArray

  • getDataArray(isFormat?: boolean): any[]
  • 获取原始数据数组

    Parameters

    • isFormat: boolean = false

      可选参数 默认值:false ; false返回原始数据, true返回格式化后的数据

    Returns any[]

    返回原始数据数组注意这个是二维数组 [[1,2,3,4],[5,6,7,8]]

getDataArrayByField

  • getDataArrayByField(fieldName: string, isFormat?: boolean): any[]
  • 获取某列数据数组

    Parameters

    • fieldName: string

      字段名

    • isFormat: boolean = false

      可选参数 默认值:false ; false返回原始数据, true返回格式化后的数据

    Returns any[]

    返回数据数组注意这个是一维数组 [1,5,9]..就是某个列的所有行的值

getDatas

  • getDatas(): any[]
  • 获取数据 这个是返回带有格式化后的数据 一般是用户展示界面时候使用

    Returns any[]

    返回带有格式的字符串 [{field1:1,field2:2,field3:3},{field1:4,field2:5,field3:6}]

getDefalutDesignerMenuItems

getDesignModel

  • getDesignModel(): boolean
  • 获取设计模式: true:设计模式 否则:运行模式

    Returns boolean

    返回 true设计模式 则反之

getDesignPopMenu

  • 获取设计模式下的弹出下拉菜单

    Returns Contextmenu

    设计模式下返回菜单实例 ,则返回null

Abstract getEditor

  • 得到设计模式下的取数的设计类 子类必须实现改类

    Returns DataSetEditorBase

getElemt

  • getElemt(): JQuery<HTMLElement>
  • 组件的最外层的jquery对象

    Returns JQuery<HTMLElement>

    返回组件的 jquery对象

getElemtHtml

  • getElemtHtml(): string
  • 返回组件的html的字符串.

    Returns string

    返回htm的字符串.用户渲染

getError

  • 得到数据源的所有行的错误

    Returns IRowFieldError[]

    返回错误的数组

getExtraParams

  • 获取额外的参数数组

    Returns IParam[]

getField

  • getField(fieldName: string): IField
  • 获取字段实例

    Parameters

    • fieldName: string

      字段名称

    Returns IField

    字段的实例

getFieldArray

  • getFieldArray(): string[]
  • 返回字段字符串数组

    Returns string[]

    返回字段字符串数组 ['field1','field2','field2']

getId

  • getId(): string
  • 获取组件的全球唯一id

    Returns string

    返回组件的全球唯一id字符串

getIndex

  • getIndex(): number
  • 获取组件的位置索引

    Returns number

    返回组件的位置索引,不存在父亲返回 -1

getKeys

  • getKeys(): string[]
  • 获取主键字段名 如果不存在this.keys 就读取this.reader.config.id

    Returns string[]

    主键字段数组

getMasterDataSource

  • 得到主数据源

    Returns DataSourceBase

    返回主数据源的组件实例

getModifiedrows

  • getModifiedrows(): Row[]
  • 得到已经被修改的记录

    Returns Row[]

    已经修改的记录数组

getName

  • getName(): string
  • 获取组件的名称

    Returns string

    组件的名称字符串

getNameString

  • getNameString(): string
  • 获取字符串 子类可以通过覆盖这个函数来自定义 主要用于设计模式,那些需要在组件树显示自定义的组件名称

    Returns string

getNext

  • 得到下一个兄弟(弟弟)组件

    Returns ComponentBase

    存在返回组件实例,否则返回null

getPage

  • 得到当前组件的page 组件

    Returns DesignerPageBase

    返回找到的designerPage 组件实例

getParent

getPrev

  • 得到前一个兄弟(哥哥)组件

    Returns ComponentBase

    存在返回组件实例,否则返回null

getRange

  • getRange(start: number, end: number): Row[]
  • 获取从start到end范围内的行

    Parameters

    • start: number

      开始

    • end: number

      结束

    Returns Row[]

    指定范围的row 数组

getRawDatas

  • getRawDatas(): any[]
  • 获取数据 这个是返回原始的数据

    Returns any[]

    返回原始数据数组 [{field1:1,field2:2,field3:3},{field1:4,field2:5,field3:6}]

getRowByGuid

  • getRowByGuid(rowGuid: string): Row
  • 行的唯一ID

    Parameters

    • rowGuid: string

      行的内部唯一ID

    Returns Row

    存在返回行实例,否则返回 null

getRows

  • getRows(): Row[]
  • 返回所有的行

    Returns Row[]

    所有行数组

getSerializePropertys

  • getSerializePropertys(): {}

getSortState

  • getSortState(): ISortInfo
  • 获取排序信息

    Returns ISortInfo

    返回SortInfo类型信息

getTotalByField

  • getTotalByField(field: string): number
  • 得到列的合计数值

    Parameters

    • field: string

      列编号

    Returns number

    返回列的合计值,存在返回非空数字,否则返回空

getTotalCount

  • getTotalCount(): number
  • 获取总数

    Returns number

    数据源的总记录数量 这是分页情况, 这个数量不一定等于getCount()

getTotals

  • 返回所有的合计数值

    Returns ItotalResult

    返回所有列的合计值

getTreeDatas

  • getTreeDatas(idField?: string, parentField?: string, getItemCallBack?: (item: any) => any): any[]
  • 获取数据源的树形结构数据

    Parameters

    • idField: string = 'RWID'

      节点唯一字段 默然值:RWID

    • parentField: string = 'SYS_PARENTID'

      建立树的父节点字段名默认值 : SYS_PARENTID

    • Optional getItemCallBack: (item: any) => any

      节点回调

        • (item: any): any
        • Parameters

          • item: any

          Returns any

    Returns any[]

    返回树形数据 [{field1:1,field2:2,field3:3,children:[{field1:8,field2:9,field3:10}]},{field1:4,field2:5,field3:6,children:[{field1:11,field2:23,field3:23}]}]

hasCreate

  • hasCreate(): boolean
  • 判断json对象是否被创建为组件实例

    Returns boolean

hasError

  • hasError(): boolean
  • 数据源内的行是否存在错误

    Returns boolean

    返回是否存在行的错误

hasPasteData

  • hasPasteData(callback: (has: boolean) => void): boolean
  • 设计模式下判断是否有数据可以粘贴

    Parameters

    • callback: (has: boolean) => void
        • (has: boolean): void
        • Parameters

          • has: boolean

          Returns void

    Returns boolean

    返回true 有数据

Protected hookgetElemtHtml

  • hookgetElemtHtml(html: string): string
  • html的钩子,可以修改组件返回的HTML,正常是返回html的值 给组件修改html的机会

    Parameters

    • html: string

      组件的html源码

    Returns string

    返回html

indexOf

  • indexOf(row: any): number
  • 获取行

    Parameters

    • row: any

    Returns number

    返回对应的记录的index, 不存在返回 -1

indexOfId

  • indexOfId(id: string): number
  • 根据行的主键值获取行的索引

    Parameters

    • id: string

      对应行的主键值

    Returns number

    行的索引

iniCss

  • iniCss(): any
  • 初始化组件的css

    Returns any

    返回组件样式对象.

Protected insertAttrEditorAfter

Protected insertAttrEditorBefore

insertChildAfterCmp

insertChildCmp

  • 在组件数组指定的位置插入组件后面增加子组件

    Parameters

    • childCmp: ComponentBase

      子组件

    • index: number = 0

      插入的位置( 0 ~ items.length-1)

    Returns void

insertMataRow

  • insertMataRow(index: number, rows: Row[]): void
  • 增加行到数据源的_Datas 只是单纯的增加没做,不会记录到modified里

    Parameters

    • index: number

      行的位置

    • rows: Row[]

      行数组

    Returns void

insertRow

  • insertRow(index: number, rows: Row[]): Row[]
  • 在index位置插入数据行 新增行会被记录到modified里

    Parameters

    • index: number

      位置 (第一行: 0,第二行: 1 ,第三行: 2 ...以此类推)

    • rows: Row[]

      行数组

      ds.insertRow(1,row1);
      ds.insertRow(2,row1)
      

    Returns Row[]

    返回新插入的行实例数组

insertRowDatas

  • insertRowDatas(index: number, datas: object | Object[]): Row | Row[]
  • 根据数据对象在数据源特定位置插入数据行 新增行会被记录到modified里

    Parameters

    • index: number

      位置 (第一行: 0,第二行: 1 ,第三行: 2 ...以此类推)

    • datas: object | Object[]

      数据对象

      ds.insertRowDatas(1,[{field1:value1,field2:value2,field3:value3,field4:value4...}]);
      ds.insertRowDatas(2,{field1:value1,field2:value2,field3:value3,field4:value4...})
      

    Returns Row | Row[]

    返回新插入的行实例或者行实例数组

Protected linkEditorOnDesigningDbClick

  • linkEditorOnDesigningDbClick(atrtName: string, cmpCallback?: (item: AttributeEditorBase) => boolean): void

load

  • 加载数据

    Parameters

    • loadParams: IDsLoadOptions = ...

      数据加载选项 包含参数等配置

    • ignroePage: boolean = false

      可选参数 默认值:false 是否强制忽略分页(哪怕组件设置支持分页取数时候也不会分页) 例子:

      load( {
      page : 0
      limit : 10
      //加载数据完后回调函数
      loadFinishCallBack: function(){
      }
      })
      

    Returns boolean

    成功返回true 则反之

loadByKeys

  • loadByKeys(keysObj: IAdvQueryItem[], callback?: () => void): void
  • 刷新数据行

    Parameters

    • keysObj: IAdvQueryItem[]

      查询的查询条件数组

    • Optional callback: () => void

      加载完成回调函数

      loadByKey( {
      key1 : keyvalue1
      key2 : keyvalue2
      })
      
        • (): void
        • Returns void

    Returns void

loadWithPageParam

  • loadWithPageParam(paramObj?: IDsLoadOptions, ignroePage?: boolean): void
  • 重新加载数据 并附带页面的参数 例子

    ```typescript ds.loadWithPageParam({ page : 0, limit : 10, loadFinishCallBack: ()=>{ //加载数据完后回调函数 }, query: { quickQuery: field1: { type:'like' val:value1 }, advQuery:[ { name: field1 type:'equeal' val:value1 }, { name: field2 type:'in' val:value2 },

    ] } }) ```

    Parameters

    • paramObj: IDsLoadOptions = ...

      可选 参数对象

    • ignroePage: boolean = false

      可选参数 默认值:false 是否强制忽略分页(哪怕组件设置支持分页取数时候也不会分页)

    Returns void

move

  • 移动组件到某个位置

    Parameters

    Returns void

needName

  • needName(): void
  • 获取名称

    Returns void

off

  • off(eventName: string, fn: Function, scope: any): void
  • 取消注册的事件

    Parameters

    • eventName: string

      事件名

    • fn: Function

      函数过程

    • scope: any

      this的取值

    Returns void

offbyEventName

  • offbyEventName(eventName: string): void
  • 取消注册的事件

    Parameters

    • eventName: string

      事件名

    Returns void

on

  • on<T>(eventName: string, fn: T, scope: any, o?: IObserver): void
  • 注册事件处理函数 注意,如果同一个函数重复注册只生效最后一个

    Type parameters

    • T

    Parameters

    • eventName: string

      事件的名称

    • fn: T

      事件处理函数

    • scope: any

      this的取值

    • Optional o: IObserver

      参数

    Returns void

onAdd

  • 注册数据行增加事件

    Parameters

    Returns void

onBeforePost

  • 注册提交之前的事件

    Parameters

    Returns void

onBeforeload

  • 注册数据源加载之前的事件

    Parameters

    Returns void

onClear

  • 注册数据源清除数据事件

    Parameters

    Returns void

onClick

  • 注册组件的鼠标左键击事件

    Parameters

    Returns void

onComplete

  • 注册数据查询/提交完成后事件

    Parameters

    Returns void

onDatachangeHandle

  • 注册数据发生变化 发生在: loadrows, filterBy ,sort ,clearFilter

    Parameters

    Returns void

onKeyPress

  • 注册键盘按下弹起事件

    Parameters

    Returns void

onKeyUp

  • 注册键盘按键弹起事件

    Parameters

    Returns void

onKeydown

  • 注册键盘按下时事件

    Parameters

    Returns void

onLeftDown

  • 注册组件的鼠标左键按下

    Parameters

    Returns void

onLeftUp

  • 注册组件的鼠标左键弹起

    Parameters

    Returns void

onLoad

  • 注册数据加载完成事件

    Parameters

    Returns void

onLoadException

  • 注册数据加载失败事件

    Parameters

    Returns void

onMessage

  • onMessage(msg: any, callback: OnMessageHandle, override?: boolean, isGlobal?: boolean): void
  • 组件注册消息处理

    Parameters

    • msg: any

      处理的消息

    • callback: OnMessageHandle

      处理函数

    • Optional override: boolean

      是否覆盖原来注册的处理函数

    • Optional isGlobal: boolean

      是否全局监听(跨域iframe监听) 默认值 = false

    Returns void

onMouseMove

  • 注册组件的鼠标移动

    Parameters

    Returns void

onPageLoad

  • onPageLoad(fn: onPageLoadHandle): void
  • 注册组件所属的Page加载完毕回调,这时候组件已经渲染 $elemt应不会出现空 可用于初始化组件

    Parameters

    • fn: onPageLoadHandle

      回调函数

    Returns void

onPostException

  • 注册提交异常的事件

    Parameters

    Returns void

onRemove

  • 注册数据行移除事件

    Parameters

    Returns void

onRightClick

  • 注册组件的鼠标右键事件

    Parameters

    Returns void

onRightDown

  • 注册组件的鼠标右键按下

    Parameters

    Returns void

onRightUp

  • 注册组件的鼠标右键弹起

    Parameters

    Returns void

paste

  • paste(): void
  • 设计模式下的粘贴组件 子类可以覆盖此方法来实现自定义粘贴

    Returns void

post

  • 提交数据 包含(新增,修改,删除)

    Parameters

    Returns void

processPostParam

  • processPostParam(callback?: (err: string) => void): boolean | any[]
  • Parameters

    • Optional callback: (err: string) => void
        • (err: string): void
        • Parameters

          • err: string

          Returns void

    Returns boolean | any[]

purgeListeners

  • purgeListeners(): void

query

  • 本地数据查询 例子: var rows= ds.query((row)=>{return row.get('FieldName')=='xxxyyy'});

    Parameters

    Returns ZlCollection<Row>

    返回查找的数据行数组

Protected queryBy

raiseEvent

  • raiseEvent(eventName: string, ...params: any[]): boolean
  • 触发事件 变量this.eventsSuspended 控制是否可以触发 true停止触发,则反之 例如:

    ```typescript this.raiseEvent('onClick',this,param1,param2)

    ```

    Parameters

    • eventName: string

      事件名称

    • Rest ...params: any[]

      可变参数列表 如: param1,param2,param3...

    Returns boolean

    返回事件的返回值

Protected raiseScriptEvent

  • raiseScriptEvent<T>(script: string, args?: any[]): any
  • 触发脚本事件函数

    Type parameters

    • T

    Parameters

    • script: string

      脚本

    • args: any[] = ...

      参数数组

    Returns any

    返回脚本内返回的值

refreshRow

  • 局部刷新行 常用用于更新一条记录后刷新组件的显示,注意行必须得存在RWID字段.否则无法刷新

    Parameters

    Returns void

rejectChanges

  • rejectChanges(): void
  • 取消所有记录的修改 会触发所有修改记录的reject事件

    Returns void

relayEvents

  • relayEvents(o: IObserver, events: string[]): void
  • 接管事件, 可以把事件接管到当前this的事件 如: this.relayEvents(this.proxy, [DataSourceEventType.loadexception]);

    Parameters

    • o: IObserver

      需要接管的实例

    • events: string[]

      事件名数组

    Returns void

reload

  • reload(params?: IDsLoadOptions, isNew?: boolean, ignroePage?: boolean): boolean
  • 重新加载数据

    Parameters

    • params: IDsLoadOptions = ...

      可选参数 如果为空就按lastOptions来查询

    • isNew: boolean = false

      可选参数 默认值:false 重新一次查询清掉所有的以前查的参数

    • ignroePage: boolean = false

      可选参数 默认值:false 是否强制忽略分页(哪怕组件设置支持分页取数时候也不会分页)

    Returns boolean

    成功返回true 则反之

reloadOnPageParams

  • reloadOnPageParams(params?: IDsLoadOptions, isNew?: boolean, ignroePage?: boolean): boolean
  • 重新加载数据并附带上page的参数

    Parameters

    • params: IDsLoadOptions = ...

      参数

    • isNew: boolean = false

      可选参数 默认值:false 重新一次查询清掉所有的以前查的参数

    • ignroePage: boolean = false

      可选参数 默认值:false 是否强制忽略分页(哪怕组件设置支持分页取数时候也不会分页)

    Returns boolean

    成功返回true 则反之

remove

  • remove(): void
  • 移除自己

    Returns void

removeAllChildComponent

  • removeAllChildComponent(): void

removeAllRow

  • removeAllRow(): void
  • 移除全部记录, 注意只要在post后才会真正更新到数据库 非RowState.insert 会被记录到modified里

    Returns void

removeChildComponent

  • removeChildComponent(cmp: ComponentBase, isDestory?: boolean): void
  • 移除下一级的子组件

    Parameters

    • cmp: ComponentBase

      需要移除的组件实例

    • isDestory: boolean = false

      可选参数; 是否要释放资源,默认 false;

    Returns void

removeChildComponentById

  • removeChildComponentById(cmpId: string): void
  • 移除子组件通过组件id

    Parameters

    • cmpId: string

      组件Id

    Returns void

removeChildComponentByName

  • removeChildComponentByName(cmpName: string): void
  • 移除子组件通过组件Name

    Parameters

    • cmpName: string

      组件名称

    Returns void

removeChildComponentExt

  • removeChildComponentExt(callback: (item: ComponentBase) => boolean, isDestory?: boolean): void
  • 移除下一级的子组件

    Parameters

    • callback: (item: ComponentBase) => boolean

      移除每个组件时候的回调,注意会回调多次

    • isDestory: boolean = false

      可选参数; 是否要释放资源,默认 false;

    Returns void

removeField

  • removeField(field: IField): void
  • 移除字段

    Parameters

    Returns void

removeFieldById

  • removeFieldById(fieldId: string): void
  • 移除字段

    Parameters

    • fieldId: string

      字段实例

    Returns void

removeFieldByName

  • removeFieldByName(fieldName: string): void
  • 通过字段名称移除字段

    Parameters

    • fieldName: string

      字段名称

    Returns void

removeRow

  • removeRow(row: Row | Row[]): void
  • 移除记录行 非RowState.insert 会被记录到modified里

    Parameters

    • row: Row | Row[]

      需要移除的行对象或者行对象数组

    Returns void

render

reset

  • reset(): void
  • 重置current.为第一位置 或者-1

    Returns void

resumeEvents

  • resumeEvents(): void
  • 恢复事件触发

    Returns void

select

  • select(): void
  • 设计模式下组件获取焦点

    Returns void

serialize

  • serialize(space?: any): any
  • 组件序列化

    Parameters

    • space: any = ...

      可选参数 输出的格式的缩进参数. 如:每行缩进两个空格 serialize(2)

    Returns any

    返回json字符串

setBackground

  • setBackground(value: string): void
  • 设置背景颜色

    Parameters

    • value: string

    Returns void

setCss

  • setCss(value: object): void
  • 设置组件的css

    Parameters

    • value: object

    Returns void

setCurrent

  • setCurrent(index: number): void
  • 设置当前的行位置

    Parameters

    • index: number

      行的位置

    Returns void

setCurrentRowById

  • setCurrentRowById(id: string): void
  • 设置当前行

    Parameters

    • id: string

      主键值

    Returns void

Protected setDefaultValues

  • setDefaultValues(): void
  • 设置 @serialize 注册过的属性的默认值

    Returns void

setEnable

  • setEnable(value: boolean): void
  • 设置是否可用 true 可以用,接收点击,焦点,否则不允许接受焦点

    Parameters

    • value: boolean

    Returns void

setHide

  • setHide(value: boolean): void
  • 设置隐藏

    Parameters

    • value: boolean

      true 组件隐藏,否则显示

    Returns void

setName

  • setName(value: string): void
  • 设置组件名称

    Parameters

    • value: string

      组件名

    Returns void

setPage

  • 设置页面实例,一般用于静态渲染时候getPage为空

    Parameters

    Returns void

setParent

  • 设置父组件

    Parameters

    • parent: ComponentBase

      父组件实例 非空时候设置组件的父组件, null,undefine 移除父组件

    • index: number = 0

      插入的子元素的位置( 0 ~ items.length-1)

    Returns void

setParentAfter

  • 设置父组件 ,在before后面插入组件

    Parameters

    • parent: ComponentBase

      父组件实例 非空时候设置组件的父组件, null,undefine 移除父组件

    • before: ComponentBase

      在before后面插入组件

    Returns void

setPostion

  • setPostion(x: number, y: number): void
  • 设置位置屏幕坐标

    Parameters

    • x: number
    • y: number

    Returns void

setRows

  • setRows(rows: Row[]): void
  • 设置数据源的行,这是没有记录到modified的

    Parameters

    • rows: Row[]

      行数组

    Returns void

setTotals

  • setTotals(val: any): void
  • 设置合计的对象

    Parameters

    • val: any

    Returns void

sort

  • 排序

    Parameters

    Returns boolean

    false 没排序,则反之

sortBy

  • sortBy(fn: (row1: Row, row2: Row) => number): void
  • 本地数据排序

    Parameters

    • fn: (row1: Row, row2: Row) => number

      排序函数 大于零排在前面

        • (row1: Row, row2: Row): number
        • Parameters

          Returns number

    Returns void

Protected sortData

  • 本地数据排序 只能静态数据时候使用,服务端取数的 暂时无可用

    Parameters

    • fieldName: string

      字段名

    • dir: FieldSortDirection = ...

      排序的方式 ASC 升序 DESC 降序

    Returns void

Protected stopEventPropagation

  • stopEventPropagation(e: any): void
  • 停止事件的传播 注意这个事件是针对dom的html事件,而不是组件的事件

    Parameters

    • e: any

      事件对象

    Returns void

storeOptions

  • storeOptions(o: any): void
  • 保存配置项 保存以后就可以随时刷新数据

    Parameters

    • o: any

      配置项

    Returns void

sum

  • sum(field: string, start: number, end: number): number
  • 合计 注意:只有是数字类型的字段才能合计

    Parameters

    • field: string

      需要合计的字段名

    • start: number

      开始

    • end: number

      结束

    Returns number

    合计的结果

suspendEvents

  • suspendEvents(): void
  • 暂停事件触发

    Returns void

unionPost

  • 合并数据源提交 这样做的好处是多个数据源的提交是在一个数据库的事务内.可以用于保证数据的完整性 注意:数据源的更新顺序就是数据源数组的位置顺序

    Parameters

    Returns void

updateChanges

  • 把修改的数据更新到数据源,只是更新本地数据 更新完可以调用post来提交到后台

    ds.updateChanges(1,[{"state":"insert","ZHUBID":"sdf","editState":"add","MINGC":"sdf","BIANH":"dsf"}]);
    

    Parameters

    Returns void

Static getDesignmodel

  • getDesignmodel(): boolean
  • 获取设计模式

    Returns boolean

    true:设计模式 否则:运行模式

Generated using TypeDoc