#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() во время создания экранного объекта.