Я работаю в пользовательском интерфейсе. У меня есть список элементов для отображения в списке. Но перед этим я должен проверить одно значение столбца и вам нужно манипулировать этим значением с помощью значка для отображения. Как я могу реализовать это изменение в SpeakUI. Пожалуйста, помогитеSitecore Speak UI: как управлять значением столбца List Control перед отображением в списке.
ответ
Простой вариант:
Если данные вы получаете непосредственно relateable на иконку вы хотите отобразить:
Установите DataSource
на вашем ListControl
к ListControl Parameters
пункта с ColumnField
пунктов под (как указано в Sitecore doco или other blogs). В поле HTMLTemplate
для вашего столбца вы можете использовать это значение как источник изображения или класс CSS со стилем фонового изображения.
<img src="{{YourField}}" />
или
<span class="{{YourField}}"></span>
где ваши пролетных стили класса ваш значок.
Более сложный, но настраиваемый:
Я не уверен, какой источник данных вы используете, но я фанат JsonDataSource by Anders Laub, как это очень простой в использовании и настройке (вам нужно только добавить 2 маленьких файлы).
К вашим Speak визуализаций вы добавите JsonDataSource
и ListControl
с Items собственности: {Binding JsonDataSource.Json}
(и DataSource при необходимости)
Тогда в JavaScript для вашей страницы (определяется в вашей PageCode
рендеринга), вы можете добавлять элементы к этому DataSource и настроить в соответствии с требованиями:
jQuery.ajax({
type: "GET",
dataType: "json",
url: "/yourApiCall" + params,
cache: false,
success: function (data) {
var total = 0;
for (var i = 0; i < data.YourItems.length; i++) {
app.JsonDataSource.add({
Col1: data.YourItems[i][0],
Col2: data.YourItems[i][1],
Col3: data.YourItems[i][2]
});
}
},
Где Col1, Col2 и Col3 имена столбцов, а YourItems является массивом элементов, которые вы получаете от вашего АЯКСА вызова.