当用户从存储类型下拉列表中选择项目时,我想在存储箱下拉列表中填充数据。
以下控制器代码如下所示:
onChange1: function(oEvent) {
var that = this;
var sValue = oEvent.getParameters().selectedItem.getText();
var rowItem = that.getView().byId("table").getParameters().rowIndex.getText();
var sServiceUrl = "proxy/http/hllsap12.in.u1609.unilever.com:8000/sap/opu/odata/sap/YH3MM_UI5_REUSABLE_COMPONENTS_SRV";
var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl);
var sPath2 = "StorageBinSet?$filter=LGNUM eq '047' and LGTYP eq '"+sValue+"'";
oModel.read(sPath2 , {
success : function(odata, response){
var oModel3 = new sap.ui.model.json.JSONModel(odata);
that.getView().setModel(oModel3, "str_bin");
},
error: function(){
sap.m.MessageBox.error(
"Odata Error!",
{
styleClass: bCompact ? "sapUiSizeCompact" : ""
}
);
oGlobalBusyDialog.close();
}
});
},
查看代码
<i:Table id="table" mode="MultiSelect"
rows="{tRows>/results/0}" visibleRowCount="5"><i:Column width="20rem">
<m:Label text="Storage Type" />
<i:template>
<m:Select id="SelectDrop1" width="20rem"
items="{str_type>/results}" showSecondaryValues="true" change="onChange1">
<core:ListItem text="{str_type>LGTYP}" additionalText="{str_type>LTYPT}"></core:ListItem>
</m:Select>
</i:template>
</i:Column>
<i:Column width="10rem">
<m:Label text="Storage Bin" />
<i:template>
<m:Select id="SelectDrop2" width="20rem"
items="{str_bin>/results}" showSecondaryValues="true" change="onChangeBin">
<core:ListItem text="{str_bin>LGPLA}" ></core:ListItem>
</m:Select>
</i:template>
</i:Column>
下拉菜单来自sap ui5表。上面的代码填充了ui5表的所有行中的storagebin下拉列表,如图所示。 Click for Image
请帮我解决这个问题我想填充特定行的存储箱下拉列表而不是表格中的所有行。