Hello Team,
I am trying to apply Value Help Dialog in my code.
I have used sap.ui.comp.valuehelpdialog.ValueHelpDialog library for this .
Code is working fine for multi-selection.
But when i am trying to use property :supportMultiselect: false, that time "ok" button will not get displayed on screen and selected value not get displayed in Input box.
Please guide me here.
Code from controller:
handleF4CompanyCode : function()
{
var oInput =this.getView().byId("IdInput");
if(!this.oValueHelpDialog){this.oValueHelpDialog= new sap.ui.comp.valuehelpdialog.ValueHelpDialog("idValueHelp",{
supportRanges:true,
key:"CompanyCode",
descriptionKey:"ComapnyName",
supportMultiselect: false,
supportRanges: false,
supportRangesOnly: false,
stretch: sap.ui.Device.system.phone,
ok: function(oEvent)
{
var aTokens=oEvent.getParameter("tokens");
oInput.setTokens(aTokens);
this.close();
},
cancel:function()
{
this.close();
}
});
}
var oColModel = new sap.ui.model.json.JSONModel();
oColModel.setData({
cols:[
{label: "Company Code", template:"CompanyCode"},
{label: "Company Name", template:"ComapnyName"},
{label: "Company City", template:"City"},
{label: "Company Currency", template:"CurrencuCode"},
]
});
var oTable=this.oValueHelpDialog.getTable();
oTable.setModel(oColModel,"columns");
//creating row model and binding it to row aggregation of table
var oRowModel = new sap.ui.model.json.JSONModel("model/mock.json");
oTable.setModel(oRowModel);
oTable.bindRows("/CompanyCodes");
this.oValueHelpDialog.setRangeKeyFields([
{label:"Comapny Code", key:"CompanyCode"},
{label:"Company Name", key:"ComapnyName"},
]);
this.oValueHelpDialog.open();
}
Code from View:
<f:SimpleForm title="Selection Scren" editable="true" layout="ResponsiveGridLayout" >
<f:content>
<Label text="Company code" />
<MultiInput id="IdInput" showValueHelp="true" width="200px" valueHelpRequest="handleF4CompanyCode" >
</MultiInput>
</f:content>
</f:SimpleForm>