2015-08-09 7 views
1

Я работаю в пользовательском интерфейсе. У меня есть список элементов для отображения в списке. Но перед этим я должен проверить одно значение столбца и вам нужно манипулировать этим значением с помощью значка для отображения. Как я могу реализовать это изменение в SpeakUI. Пожалуйста, помогитеSitecore Speak UI: как управлять значением столбца List Control перед отображением в списке.

ответ

1

Простой вариант:

Если данные вы получаете непосредственно 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 является массивом элементов, которые вы получаете от вашего АЯКСА вызова.