无论是用户向服务器提交数据还是服务器向用户返回数据,都是在传输一定含义的数据集。这些数据集在Aurora框架中被抽象成Datasets,datasets中可以有多个dataset,dataset提供了对数据的赋值(datas)、导航(fields)和触发事件(event)。
<a:dataSets>
<a:dataSet id="PIM1010_gender" lookupCode="STUDENT_SEX"/>
<a:dataSet id="PIM1010_department" lookupCode="PIM_DEPARTMENT"/>
<a:dataSet id="PIM1010_base" lookupCode="PIM_BASE"/>
<a:dataSet id="PIM1010_status" lookupCode="CHECK_IN_STATUS"/>
<a:dataSet id="PIM1010_people_inf_query">
<a:fields>
<a:field name="gender" displayField="code_value_name" options="PIM1010_gender"/>
<a:field name="department" displayField="code_value_name" options="PIM1010_department"/>
<a:field name="base" displayField="code_value_name" options="PIM1010_base"/>
<a:field name="status" displayField="code_value_name" options="PIM1010_status"/>
<a:field name="people_no" lovGridHeight="300" lovService="FSD.PIM1010.fsd_people_information_lov" lovWidth="600" title="入住人员信息查询">
<a:mapping>
<a:map from="people_no" to="people_no"/>
<a:map from="people_name" to="people_name"/>
<a:map from="telephone" to="telephone"/>
<a:map from="gender" to="gender"/>
a:mapping>
a:field>
a:fields>
a:dataSet>
<a:dataSet id="PIM1010_people_inf_result" autoCount="true" autoQuery="true" fetchAll="false" model="FSD.fsd_people_information_manager" pageSize="15" queryDataSet="PIM1010_people_inf_query" selectable="true">
<a:fields>
<a:field name="people_id" readOnly="true"/>
<a:field name="people_number" readOnly="true"/>
<a:field name="people_no" required="true"/>
<a:field name="people_name" required="true"/>
<a:field name="gender" displayField="code_value_name" options="PIM1010_gender" required="true" returnField="gender_code" valueField="code_value"/>
<a:field name="department" displayField="code_value_name" options="PIM1010_department" required="true" returnField="department_code" valueField="code_value"/>
<a:field name="base" displayField="code_value_name" options="PIM1010_base" required="true" returnField="base_code" valueField="code_value"/>
<a:field name="telephone"/>
<a:field name="email"/>
<a:field name="people_comment"/>
<a:field name="creation_date" readOnly="true"/>
<a:field name="status" displayField="code_value_name" options="PIM1010_status" readOnly="true" returnField="status_code" valueField="code_value"/>
a:fields>
a:dataSet>
a:dataSets>
new Aurora.DataSet(
{“datas”:[{“user_id”:”1”,”user_name”:”HECADMIN”, “encrypted_foundation_password”:”……”}, //**一条record**
{“user_id”:”2”,”user_name”:”ADMIN”, “encrypted_foundation_password”:”……”},
……
],
“listeners”:{“update”,onUpdate, //注册的事件
“submitsuccess”: onModifyUserSuccess,
……
},
“fields”:[{“name”:”user_id”, "databasetype":"BIGINT","datatype":"java.lang.Long","isprimarykey":true}, //field
{"name":"user_name","databasetype":"VARCHAR","datatype":"java.lang.String",
"prompt":"SYS_USER.ACCOUNT","readonly":true},
{"name":"encrypted_foundation_password","databasetype":"VARCHAR","datatype":"java.lang.String",
"insertexpression":"sys_login_pkg.md5(${@user_password})"},
……],
“id”:”sys_user_edit_ds”,
“pagesize”:10,
……
}
);
1) datas中是DataSet初始化时的数据中的数据,是由多条数据记录(record)组成。
2) listeners中记录了当前dataSet中注册的事件。发生特定动作时会响应特定的事件。
3) fields中记录的是字段级的元数据信息,每个字段的名称,数据类型,提示(prompt)等属性。Field中的信息集中了DataSet定义以及bm中的field、ref-field中的信息的总和。
4) DataSet其他的信息,如id,pageSize,querurl等等。
id 指定dataSet的id(同一个页面中唯一)
model 指定dataSet对应的bm
autoCreate 指定创建dataSet时是否创建一条空记录(默认为false false:不创建 true:创建)
autoQuery 页面加载完成后,是否自动进行一次ajax请求查询数据(默认为false false:不查询 true:自动查询)
fetchAll 指定是否一次查询所有的数据(默认为false false:不全加载 true:一次加载)
pageSize 指定一次查询出数据的条数(默认10条)
queryDataSet 重要属性,指示查询时,用户可输入的查询条件来源。
autoCount 查询是否进行统计(默认为true false:不进行统计 true:统计查询的总条数、页数信息)
canQuery 是否可查询(默认true false:不可查询 true:可查询)
canSubmit 是否可提交(默认true false:不可提交 true:可提交)
loadData 是否服务器端加载数据(默认false false:不在服务器端加载 true:在服务器端加载)
selectable 是否可选择(默认false false:不可选择 true:可选择)
selectionModel 选择模式(默认multiple multiple:多选 single:单选)
queryUrl 查询的url地址
submitUrl 提交的url地址
bindTarget 绑定到目标dataSet,作为目标dataSet的是一个子DataSet
bindName 绑定后的名称
lookupCode 值列表的code
${/request/@context_path}/autocrud/test.test/query?contractno=${/parameter/@contractno}
** - 发现在很多查询集中不但queryfrom需要绑定查询集,同时输入框标签也需要绑定?
- dataset内的field都是对输入框的数据进行控制的,并没有其它什么意义**