|
属性
|
类型
|
模式
|
说明
|
|
bof
|
bool
|
c(r)
|
是否要前进到记录集的顶端
|
|
connection
|
Adodb.connection
|
s(r)
|
调用createAdoDataset后,系统自动生成的connection对象将被保存在此属性中。
|
|
connection
|
string
|
c(r)
|
server端使用的连接字符串的标识。该标识的实质是在Server_ini.js中定义相应连接字符串的变量名。
|
|
dataString
|
string
|
s(rw)
|
在调用记录集的Init()方法时,Init会把记录集中的所有数据转换成一个特定格式的字符串并传到Client端。如果在此之前您为dataString属性赋值,那么Init将直接使用dataString的值作为记录集数据。如果将dataString属性的值社为””,那么记录集中的数据将不会被下载到Client端。
其格式说明如下:
- 记录间以”;”分隔
- 记录内部各字段的内容以”,”分隔
注意:以上格式中的每一小段都是经Encode运算后产生的编码,以防止其内容与分隔符混淆。
|
|
detailDatasets
|
pArray
|
c(r)
|
从表列表,此属性仅在使用主从表功能时有效。
如果需要建立主从关系或修改此属性的值,您可以使用setMasterDataset方法。
|
|
detailSql
|
string
|
s(rw)
c(r)
|
系统用于下载从表数据的SQL命令。
该命令中可以下列的方法来表示主表关键字段的值:select * from employee where dept_id=’[dept_id]’其中[dept_id]在使用前将被具体的字段值的内容替代,如果dept_id的值为’001’,则系统实际使用的命令为:select * from employee where dept_id=’001’。
此属性也可以与beforeLoadDetail事件配合使用,在每次下在数据之前设置正确的detailSql。
注意:在上例中由于dept_id是字符型字段,因此在[dept_id]的前后应有两个单引号。而对于数值型字段则不应该被包含在引号中。
|
|
disableControlCount
|
int
|
c(r)
|
记录集被执行禁止刷新操作的计数器。
参阅disableControl ()和enableControl ()方法
|
|
disableEventCount
|
int
|
c(r)
|
记录集被执行禁止触发用户事件的计数器。
参阅disableEvent ()和enableEvent ()方法
|
|
editors
|
pArray
|
c(r)
|
与此记录集绑定的数据控件列表,此属性仅在运行期可用。
|
|
eof
|
bool
|
c(r)
|
是否已前进到记录集的顶端
|
|
fields
|
object
|
s(r)
|
在ASP中用于访问Server端临时记录集对象中的字段对象,使用的方法如下:
通过此命令dataset1.fields.field1可以访问到dataset1中的field1字段对象。
|
|
fields
|
object
|
c(r)
|
对应的字段集对象
|
|
filtered
|
bool
|
c(rw)
|
表示记录集当前是否使用了过滤功能。
当该属性的值为true时,系统会在判断每条记录的可见性时自动触发onFilterRecord事件。
|
|
id
|
string
|
s(rw) c(r)
|
记录集的ID
|
|
keyFields
|
string
|
s(rw)c(rw)
|
数据更新时使用的主键字段列表,多个字段名之间以”,”分隔。
例如:dept_id=001,employee_id表示记录集有两个主键字段dept_id和employee_id,其中dept_id的值为001(即在更新时系统认为dept_id的值总是001,当您按此方法指定主键字段时,dept_id可以不是一个记录集中真实存在的字段)
如果此属性值未指定,则系统将使用所有字段作为主键字段。
|
|
length
|
int
|
c(r)
|
记录集中的总记录数。
注意:此记录数包括无效的记录。
|
|
masterLinks
|
array
|
s(rw)
c(r)
|
与主表的连接方式,此属性仅在使用主从表功能时有效。
该数组的每一个单元都是一个连接对象,此对象拥有下列属性
- master_field 主表中的连接字段名
- detail_field 从表中的连接字段名
|
|
masterDataset
|
object
|
s(rw)
c(r)
|
主表对象,此属性仅在使用主从表功能时有效。
如果需要建立主从关系或修改此属性的值,您可以使用setMasterDataset方法。
当主从关系建立后,从表中将仅显示与主表当前记录对应的记录,具体的对应方式由links属性决定。
在通常情况下,当主表的当前记录改变时,从表中的记录将自动刷新。但是当主表被禁止刷新时,从表中的记录将不会自动刷新,此时可以调用dataset_loadDetail方法来手工刷新从表的记录。
注意:masterDataset与pageSize属性不要同时使用。
|
|
modified
|
bool
|
c(r)
|
记录集中是否存在未被确认的修改。可使用此属性来判断记录集的当前记录是否属于被修改状态,当记录被确认后改状态的值将被置为false。
|
|
pageSize
|
int
|
s(rw)
c(r)
|
记录集每页的记录数,即记录集每次下载的记录数
|
|
readOnly
|
bool
|
s(rw)
c(r)
|
记录集是否只读
如果要修改此属性的值建议使用setReadOnly方法
|
|
record
|
object
|
c(r)
|
记录集的当前记录
|
|
recordset
|
Adodb.recordset
|
s(r)
c(r)
|
调用createAdoDataset后,系统自动生成的recordset对象将被保存在此属性中。
|
|
sortFields
|
string
|
c(r)
|
保存记录集当前的排序表达式。
排序表达式的格式定义如下:[+/-]字段1, [+/-]字段2, [+/-]字段3, …;以 + 和 - 表示正序排序和倒序排序,其中 + 可以省略。
例如:
Dept_id,-Age 表示先按Dept_id排序再按Age倒排。
注意:
- 当该属性的值为”#custom”时表示自定义排序方式,此时系统将触发onCompareRecord事件来确定记录集的排序方式。
- 该属性为只读属性。请不要直接为此属性赋值,应通过sort方法为记录集定义排序方式。
|
|
sql
|
string
|
s(rw)
c(r)
|
server端使用的sql命令
|
|
state
|
enum
|
c(r)
|
记录集的当前状态。
取值范围如下:
- none 无状态
- insert 插入状态
- modify 修改状态
参阅onstatechanged事件
|
|
tableName
|
string
|
s(rw)
c(rw)
|
缺省数据库表名,当记录集最终被提交时将会用到此表名
|
|
totalPage
|
int
|
s(r)
c(r)
|
记录集的总页数
|
|
updateFields
|
string
|
s(rw)
c(rw)
|
待更新的字段列表,多个字段名之间以”,”分隔。
例如:dept_id=001,employee_name表示记录集有两个更新字段dept_id和employee_name,其中dept_id的值为001(即在更新时系统认为dept_id的值总是001,当您按此方法指定更新字段时,dept_id可以不是一个记录集中真实存在的字段)
如果此属性值未指定,则系统将使用所有字段作为待更新字段。
|
|
window
|
object
|
c(r)
|
记录集隶属的window对象
|
|
tag
|
any
|
s(rw)
c(rw)
|
用户自定义信息
|
|
方法
|
模式
|
说明
|
|
[field] addField(
[string] fieldname
)
|
c
|
向记录集中追加一个新字段
参数说明:
- fieldName 要追加的字段名或字段序号
- 返回值为新的字段对象
注意此方法只能在记录集被初始化(initDataset)之前使用。可在onInitDataset事件中使用此方法在,此记录集中添加自定义的字段。
|
|
[field] getField(
[string] fieldname
)
|
c
|
获取字段对象
参数说明:
- fieldName 要取得的字段名或字段序号(注意:此次序号是从0开始的序号)
- 返回值为字段对象
|
|
[any] getFieldValue(
[string] fieldname
)
|
c
|
读取当前记录中的字段值
参数说明:
- fieldName 要读取的字段名或字段序号(注意:此次序号是从0开始的序号)
- 返回值为读取到的字段值
|
|
[string] getFieldText(
[string] fieldname
)
|
c
|
读取当前记录中某字段的显示文本。即转换成文本的字段值
参数说明:
- fieldName 要读取的字段名或字段序号(注意:此次序号是从0开始的序号)
- 返回值为读取到的字段值
|
|
[void] setFieldValue(
[string] fieldName,
[any] value
)
|
c
|
设置当前记录中的字段值
参数说明:
- fieldName 要设置的字段名或字段序号(注意:此次序号是从0开始的序号)
- value 要设置的值
|
|
[record] getFirstRecord()
|
c
|
获得记录集的第一条有效记录
|
|
[record] getLastRecord()
|
c
|
获得记录集的最后一条有效记录
|
|
[void] setRecord(
[record] record
)
|
c
|
设置记录集的当前记录
参数说明:
- record 要设置为当前记录的记录对象
|
|
[void] move(
[int] count
)
|
c
|
以当前记录为参照滚动记录集
参数说明:
- count 想对于当前记录的滚动行数。当count<0时表示前上滚动。
|
|
[void] moveFirst()
|
c
|
将最顶端的记录设置为当前记录
|
|
[void] movePrev()
|
c
|
将上一条的记录设置为当前记录
|
|
[void] moveNext()
|
c
|
将下一条的记录设置为当前记录
|
|
[void] moveLast()
|
c
|
将最末端的记录设置为当前记录
|
|
[record] find(
[array] fieldNames,
[array] values,
[record] startRecord
)
|
c
|
精确搜索记录
参数说明:
- fieldNames要进行比对的字段列表
- values要进行比对的值列表
- startRecord 指定从此记录开始搜索。如果不定义该参数,将从第一条记录开始搜索。
- 如果查找到匹配的记录,该函数的返回值为该记录对象,否则返回null.
调用方法如下:
var record=dataset. Find([id, age], [“byl”, 24]);
if (record) then dataset.setRecord(record);
|
|
[record] locate(
[string] fieldName,
[string] value,
[record] startRecord
)
|
c
|
模糊搜索记录
参数说明:
- fieldName要进行比对的字段
- value要进行比对的值
- startRecord 指定从此记录开始搜索。如果不定义该参数,将从第一条记录开始搜索。
- 如果查找到匹配的记录,该函数的返回值为该记录对象,否则返回null.
调用方法如下:
var record=dataset. Locate(id, “byl”);
if (record) then dataset.setRecord(record);
|
|
[void] sort(
[string] sortFields
)
|
c
|
对记录集的记录进行排序
参数说明:
- sortFields 排序表达式。参照属性sortFields的说明。当此参数的值为空时,表示不对记录集进行排序即按照记录集的原始顺序排序。
|
|
[void] insertRecord(
[enum] mode
)
|
c
|
插入一条空记录
参数说明:
- mode 插入方式,取值范围(”begin”, ”before”, “after”, “end”)分别表示在所有记录之前插入、在当前记录之前插入、在当前记录之后插入、在所有记录的最后追加。
|
|
[void] deleteRecord()
|
c
|
删除当前记录
|
|
[void] cancelRecord()
|
c
|
撤销对当前记录的修改
|
|
[void] updateRecord()
|
c
|
确认对当前记录的修改
|
|
[void] copyRecord(
[record] record
)
|
c
|
将指定记录的内容复制到记录集的当前记录中
参数说明:
- record 要复制的记录
|
|
[void] disableControl ()
|
c
|
禁止记录集向与之绑定的数据控件发送消息。
执行该命令后,相关数据控件将不再动态体现记录集中记录的变化。
该命令可被连续执行多次,同样也必须执行相同次数的enableControl ()命令后记录集才会被解锁。
|
|
[void] enableControl ()
|
c
|
允许记录集向与之绑定的数据控件发送消息
|
|
[void] disableEvent()
|
c
|
禁止记录集触发用户事件。
该命令可被连续执行多次,同样也必须执行相同次数的enableEvent ()命令后记录集才能重新激活用户事件。
|
|
[void] enableEvent()
|
c
|
允许记录集触发用户事件。
|
|
[void] RefreshControls()
|
c
|
刷新所有与该记录集相关的数据控件。
|
|
[void] SetReadOnly(
[bool] readOnly
)
|
c
|
设置记录集的只读属性
参数说明:
- readOnly 逻辑值,表示是否只读
|
|
[void] setFieldReadOnly(
[string] fieldName,
[bool] readOnly
)
|
c
|
设置字段的只读属性
参数说明:
- fieldName 要设置的字段的字段名
- readOnly 逻辑值,表示是否只读
|
|
[void] loadpage(
[int] pageIndex
)
|
c
|
下载一页数据
参数说明:
- pageIndex要下载的页号
|
|
[void] loadDetail()
|
c
|
下在当前记录对应的从表数据。由于当主表处于disableControl ()状态时,系统不会自动下载从表中的数据。因此,当执行enableControl ()后,您可能需要手工调用此方法。
|
|
[bool] isPageLoaded(
[int] pageIndex
)
|
c
|
判断指定页号的数据是否已下载
注意:该页码从1开始计数。
|
|
[void] moveToPage(
[int] pageIndex
)
|
c
|
将记录指针移动到指定的页
注意:该页码从1开始计数。
|
|
[void] setMasterDataset(
[dataset] masterDataset,
[string] linkString,
[string] detailSql
)
|
c
|
建立主从记录集关系
参数说明:
- masterDataset 主表对象
- linkString 连接方式。其格式为:主表字段1=从表字段1;主表字段2=从表字段2;…。如果主表字段名与从表字段名相同,也可以写成:字段名1;字段名2…。
- detailSql 系统用于下载表数据的SQL命令。
|
|
[void] flushData(
[string] SQL,
[string] connection,
[int] pageSize,
[int] absolutePage
)
|
c
|
重新读取记录集的数据,原有的记录将被全部清除。
参数说明:
- SQL 要执行的SQL命令,如果不指定此参数系统将使用记录集原先的sql命令
- connection SQL命令使用的连接字符串的标识。该标识的实质是在Server_ini.js中定义相应连接字符串的变量名,如果不指定此参数系统将使用记录集原先的连接字符串
- pageSize 要返回的记录数,如果不指定此参数系统将使用记录集原先的pageSize
- absolutePage 指定返回ADODB.Recordset中的第几页数据。如果不指定此参数的值系统将使用记录集原先的absolutePage。
|
|
[void] passData (
[dataset] to_dataset,
[enum] mode,
[record] record,
[dataset] from_dataset
)
|
c
|
将源记录集中的数据一次性的插入到目标记录集中,同时源记录集将被清空。
参数说明:
- to_dataset 目标记录集
- mode 插入方式。取值范围(”begin”, ”before”, “after”, “end”)分别表示在在所有记录之前插入、在参照记录之前插入、在参照记录之后插入、在所有记录的最后追加。如果不指定此参数的值,系统将默认按”end”方式插入。
- record 参照记录。对于”begin”和”end”两种插入方式可以不指定此参数的值。
- from_dataset 源记录集
注意:在使用此方法时应该保证源记录集和目标记录集的数据结构完全相同,否则目标记录集的数据将有可能出现混乱
|
|
[void] clearData()
|
c
|
清空记录集中的数据
|
|
[string] transferToDataString(
[dataset] dataset
)
|
c
|
将记录集中的数据转换成字符串,字符串的格式见记录集数据字符串的格式说明
参数说明:
- dataset 将要被转换的记录集对象
|
|
[void] appendFromDataString(
[dataset] dataset,
[string] recordStr
)
|
c
|
使用数据字符串向记录集中批量的添加记录,字符串的格式见记录集数据字符串的格式说明
参数说明:
- dataset 将要被转换的记录集对象
- recordStr 数据字符串
|
|
事件
|
模式
|
说明
|
|
[void] onInitDataset (
[dataset] dataset
)
|
c
|
当系统初始化记录集时触发
参数说明:
- dataset 将要被初始化的记录集对象
|
|
[void] onInitField (
[dataset] dataset,
[field] field
)
|
c
|
Client端事件,当系统初始化字段属性时被触发。
参数说明:
- dataset 触发事件的数据集
- field 将要被初始化的字段对象
在此事件中对字段对象操作时,可直接对各种属性赋值。如field.readOnly=true而无须使用setFieldReadOnly方法
|
|
[void] onStateChanged
(
[dataset] dataset
)
|
c
|
当记录集的编辑状态发生变化时触发。
参数说明:
- dataset 触发事件的数据集
|
|
[string] beforeChange
(
[dataset] dataset,
[field] field,
[any] value
)
|
c
|
当记录集的数据将要被修改时触发。
参数说明:
- dataset 触发事件的数据集
- field 将要被修改的字段对象
- value 将要向该字段赋的新值
- 如果您为此事件定义返回值,系统将终止当前的修改操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterChange
(
[dataset] dataset,
[field] field
)
|
c
|
当记录集的数据被修改后触发。
参数说明:
- dataset 触发事件的数据集
- field被修改的字段对象
|
|
[string] beforeScroll(
[dataset] dataset
)
|
c
|
当记录集的将要滚动时、即当前记录将要被改变时触发。
参数说明:
- dataset 触发事件的数据集
- 如果您为此事件定义返回值,系统将终止当前的滚动操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterScroll (
[dataset] dataset
)
|
c
|
当记录集滚动后、即当前记录改变后触发。
参数说明:
- dataset 触发事件的数据集
|
|
[string] beforeInsert(
[dataset] dataset,
[enum] mode
)
|
c
|
当将要向记录集插入记录时触发。
参数说明:
- dataset触发事件的数据集
- mode 插入方式,取值范围(”begin”, ”before”, “after”, “end”)分别表示在所有记录的之前、在当前记录之前插入、当前记录之后插入、在所有记录的最后追加。
- 如果您为此事件定义返回值,系统将终止当前的插入操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterInsert(
[dataset] dataset,
[enum] mode
)
|
c
|
当向记录集插入记录后触发。
参数说明:
- dataset 触发事件的数据集
- mode 插入方式
|
|
[string] beforeDelete(
[dataset] dataset
)
|
c
|
当将要从记录集中删除记录时触发。
参数说明:
- dataset 触发事件的数据集
- 如果您为此事件定义返回值,系统将终止当前的删除操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterDelete(
[dataset] dataset
)
|
c
|
当从记录集中删除记录后触发。
参数说明:
- dataset 触发事件的数据集
|
|
[string] beforeCancel(
[dataset] dataset
)
|
c
|
当将要取消对当前记录的修改时触发。
参数说明:
- dataset 触发事件的数据集
- 如果您为此事件定义返回值,系统将终止当前的取消操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterCancel(
[dataset] dataset
)
|
c
|
当取消对当前记录的修改后触发。
参数说明:
- dataset 触发事件的数据集
|
|
[bool] beforeUpdate(
[dataset] dataset
)
|
c
|
当记录的修改将要被确认时触发。
参数说明:
- dataset 触发事件的数据集
- 如果您为此事件定义返回值,系统将终止当前的确认操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] afterUpdate(
[dataset] dataset
)
|
c
|
当记录的修改被确认后触发。
参数说明:
- dataset 触发事件的数据集
|
|
[bool] onFilterRecord(
[dataset] dataset,
[record] record
)
|
c
|
当系统过滤记录集时触发。
参数说明:
- dataset 触发事件的数据集
- record 当前处理的记录
- 如果您为该事件定义的返回值为true表示当前处理的记录可见,否则该记录将被视为不可见。
|
|
[int] onCompareRecord(
[dataset] dataset,
[record]record1,
[record]record2
)
|
c
|
当记录集比较两条记录的大小以确定排序方式时触发。
参数说明:
- dataset 触发事件的数据集
- record1, record2 将要比较的两条记录
- 该事件以整数型的返回值表示record1和record2的比较结果。当返回值>0时表示record1>record2;当返回值<0时表示record1<record2;返回值=0时表示record1=record2
注意:此事件仅在sortFields的排序表达式为”#custom”时被触发。
|
|
[string] beforeLoadDetail(
[dataset] dataset,
[dataset] detailDataset
)
|
c
|
当系统准备下载从表数据之前被触发。
参数说明:
- dataset 触发事件的数据集
- detailDataset 从表对象
- 如果您为此事件定义返回值,系统将终止当前的操作并将返回值作为错误信息抛出。如果返回值为”abort”错误信息将不被提示,否则系统将向用户提示该错误信息。
|
|
[void] onGetUpdateString(
[dataset] dataset,
[record] record,
[object] result
)
|
c
|
当系统试图获得该记录的提交字符串时被触发
参数说明:
- dataset 触发事件的数据集
- record触发事件的记录
- result 用于向系统返回处理结果的对象。该对象包含两个属性,分别是mode和update_string。其中mode表示该记录的提交方式,其取值范围是(none、delete、update |