2016-03-03 197 views
4

我應該如何在Sitecore SPEAK UI中設置ComboBox組件的選定項目?Sitecore SPEAK UI以編程方式設置ComboBox的選定項目

我的組合框是由被看着我的核心數據庫項目的文件夾中的QueryDataSource分量填充。

我可以檢索當前所選的值(這是文本,而不是一個ID),使用以下代碼:

var value = this.MyComboBoxId.viewModel.selectedItemId(); 

和我本來期望能夠使用設置所選擇的值:

var value = "SomeValueWhichExistsInTheList"; 
this.MyComboBoxId.viewModel.selectedItemId(value); 

但這似乎不起作用。 here提及使用

rebind(items, selectedItem, selectedValue, displayFieldName, valueFieldName) 

,但我不希望有重新填充它的文檔,只是改變所選擇的項目。我的代碼在我的模型的initialize方法中。

編輯

我發現,如果ComboBox沒有DisplayFieldNameValueFieldName值在渲染屬性中設置你要設置的值,以適當的itemId。 DisplayFieldName和/或ValueFieldName應設置爲您創建一個字段的名稱 - 你不能綁定到項目名稱。

回答

2

initialize方法,使用下面的代碼來設置值:

app.yourQueryDataSource.on("change:hasItems", function() { 
    app.yourComboBox.set("selectedValue", yourValue); 
}); 
0

上述辦法並沒有爲我工作,所以我使用的

app.<yourcontrolid>.viewModel.rebind()

功能如Sitecore SPEAK組合框文檔中記錄的那樣工作。

相關問題