2016-08-08 2 views
0

У меня есть один SplitApp с макетом Master -Detail. Я хотел бы знать, как установить первый элемент в главном представлении по умолчанию, чтобы при загрузке приложения Detail view отображалась информация о элементе select list. Поэтому, когда пользователь открывает приложение, автоматически выбирается первый элемент в «Мастер», а «Детальный вид» показывает информацию.По умолчанию Выбранный элемент списка в главном представлении SplitApp

Я использую Objectlist Item в качестве элемента управления для просмотра Master. И в настоящее время используется событие select для выбора элемента списка.

var oList = new sap.m.List("idMasterList",{ 
    mode: sap.m.ListMode.SingleSelect, 
    select: [oController.onSelectItem, oController] 
      }); 

onSelectItem: функция (oEvent) {

//var app = sap.ui.getCore().byId("splitApp"); 
var oMasterList = sap.ui.getCore().byId("idMasterList"); 
var oSelItem = oMasterList.getSelectedItem(); 

var sPath = oSelItem.oBindingContexts.druginfo.sPath; 
var oItem = sap.ui.getCore().getModel("druginfo").getProperty(sPath); 
var oSelModel = new sap.ui.model.json.JSONModel(oItem) ; 
sap.ui.getCore().setModel(oSelModel, "SelectedItem"); 

} 

С уважением, Mayank

ответ

2

Похоже, там (скрытый) API сделать огонь select событий при настройке выбранного элемента:

ListBase.prototype.setSelectedItem = function(oListItem, bSelect, bFireEvent) { 
    if (this.indexOfItem(oListItem) < 0) { 
     jQuery.sap.log.warning("setSelectedItem is called without valid ListItem parameter on " + this); 
     return; 
    } 
    if (this._bSelectionMode) { 
     oListItem.setSelected((bSelect === undefined) ? true : !!bSelect); 
     bFireEvent && this._fireSelectionChangeEvent([oListItem]); 
    } 
}; 

Вы можете использовать setSelectedItem после загрузки данных списков (например, change событие агрегации связывания items) следующим образом:

var oList = this.getView().byId("MyListID"), 
    oFirstItem = oList.getItems()[0]; 
oList.setSelectedItem(oFirstItem, true, true); 

Это вызовет selectionChange соотв. select, и ваш уже существующий прослушиватель событий будет запущен.

Смежные вопросы