Список флажков в HTML-клиенте Lightswitch

#visual-studio-lightswitch #lightswitch-2013

#visual-studio-lightswitch #lightswitch-2013

Вопрос:

Я новичок в Lightswitch, поэтому, пожалуйста, потерпите, если это глупый или очевидный вопрос. Этот вопрос касается HTML-клиента Lightswitch, а не настольного клиента.

У меня есть сценарий, в котором у меня есть статья, которая может быть помечена для одного или нескольких пунктов назначения (стран). В идеале при добавлении или редактировании статьи должно быть несколько вкладок. Один для деталей (заголовок, standfirst, тело и т. Д.), А другой для тегов. Обычно я бы реализовал это с помощью списка флажков.

Буду признателен за любые идеи о том, как я мог бы реализовать этот сценарий в Lightswitch.

Большое спасибо

Ответ №1:

Надеюсь, это поможет:

Тип элемента управления по умолчанию для логического типа данных — это элемент управления FlipSwitch, но вы можете легко заменить флажок с помощью пользовательского элемента управления.

В конструкторе экрана выберите узел для логического поля и измените тип элемента управления с FlipSwitch на пользовательский элемент управления. В окне свойств в разделе Высота выберите Min и введите 100.Это необходимо, потому что элемент управления флажком выше, чем стандартный элемент управления текстовым полем. Если в вашей форме используются другие типы элементов управления, вам может потребоваться изменить это значение. В разделе Общие выберите ссылку Редактировать код рендеринга. В редакторе кода добавьте следующий код в метод визуализации: JavaScript

 // Create the checkbox and add it to the DOM.
    var checkbox = $("<input type='checkbox'/>")
            .css({
                height: 20,
                width: 20,
                margin: "10px"
            })
            .appendTo($(element));

    // Determine if the change was initiated by the user.
    var changingValue = false;

    checkbox.change(function () {
        changingValue = true;
        contentItem.value = checkbox[0].checked;
        changingValue = false;
    });
    contentItem.dataBind("value", function (newValue) {
        if (!changingValue) {
            checkbox[0].checked = newValue;
        }
    });
  

Если вы отображаете флажок для обязательного поля на экране добавления / редактирования, вы также захотите установить начальное значение для элемента управления, в противном случае пользователь может получить ошибку проверки.
Чтобы задать начальное значение, в конструкторе сущностей на панели перспективы выберите вкладку HTMLClient.
В списке Написать код выберите создать.
В редакторе кода задайте начальные значения, добавив код к созданному методу:

Объект JavaScript.FieldName = новое логическое значение();
сущность.Имя_поля = ‘истина’;
Замените FieldName именем вашего логического поля. Чтобы перевести элемент управления в непроверенное состояние, замените true на false.

Комментарии:

1. это лучший ответ для добавления флажков, который я нашел в Интернете, хорошая работа!!

2. Я боюсь, что заключительная часть для установки значений по умолчанию не будет работать для проекта HTML-клиента. Это работало только для устаревших проектов Silverlight. Вы должны установить значения по умолчанию в перехватчиках функций DB (например, *_inserted ) или, возможно, в javascript create() во время создания экранного объекта.