
<?xml version="1.0" encoding="utf-8"?>
<Shell name="SelectDataSourceExample" descriptors="xworker.swt.widgets.Shell" text="下拉列表的数据源设置" RESIZE="true" width="600" height="400">
<GridLayout name="shellGridLayout"></GridLayout>
<DataObjectForm name="form">
<GridData name="formGridData" style="FILL_BOTH"></GridData>
<dataObjects>
<AbstractDataObject name="exampleDataObject" editCols="1" storeSortDir="ASC" autoInitAction="autoInit">
<attribute name="selectFromValues" label="通过属性设置选择项" default="1" inputtype="select">
<value name="1" label="男" value="1"></value>
<value name="2" label="女" value="2"></value>
</attribute>
<attribute name="selectFromRelation" _xmeta_id_="selectFromDataSource" label="通过关联数据对象设置选择项" default="Path" inputtype="select" relationDataObject="xworker.example.app.dataobject.java.SysEnvDataObejct" relationValueField="key" relationLabelField="key"></attribute>
<attribute name="selectFromDataStore" label="通过数据对象设置选择项" default="Path" inputtype="select">
<DataStore name="dataStore" labelField="key" attachToParent="true" dataObject="xworker.example.app.dataobject.java.SysEnvDataObejct" storeSortDir="ASC">
<dataObjects>
<MapDataObject name="SysEnvDataObejct" descriptors="xworker.dataObject.java.MapDataObject" mapVarName="@java.lang.System@getenv()" valueName="key" displayName="value" storeAutoLoad="true" gridEditable="true" storeSortDir="ASC" autoInitAction="autoInit">
<attribute name="key" _xmeta_id_="5614" propertyPath="key" label="键" gridWidth="180" gridSortable="true"></attribute>
<attribute name="value" _xmeta_id_="5615" propertyPath="key" label="值" gridWidth="380" gridSortable="true"></attribute>
</MapDataObject>
</dataObjects>
</DataStore>
</attribute>
<attribute name="selectFromInputAttr" label="通过输入扩展属性设置" default="Path" inputtype="select" inputattrs="xworker.example.app.form.swt.SelectDataSourceExample/@form/@dataObjects/@exampleDataObject/@selectFromDataStore/@dataStore,5" relationValueField="key" relationLabelField="value"></attribute>
<attribute name="note" label="说明" inputtype="textarea" inputattrs="codeName= codeType= wrap=true fillBoth=true cols= rows=">
<default><![CDATA[设置下拉选择框或多选下拉框的可选值的方法:
1. 在数据对象的属性添加value子事物,value子事物为值。
2. 添加DataStore(数据仓库)子事物,DataStore为数据源,DataSotre要设置为绑定父控件。
3. 在数据源中设置关联的数据对象,通过关联的数据对象动态生成一个DataStore,类似2的方法。
4. 在输入扩展属性输入框后点击*按钮,手动设置数据仓库,此时可以设置下拉列表弹开后显示的行数。]]></default>
</attribute>
</AbstractDataObject>
</dataObjects>
</DataObjectForm>
</Shell>