Я заменил основной элемент управления сеткой данных Lightswitch 2011 на последний элемент управления Telerik Silverlight RadGridView.
В соответствии с их учебными пособиями я связываю столбцы сетки как обычно.
Однако в основной сетке данных Lightswitch, если вы привязываетесь к строковому полю, которое является ChoiceList (например, Project Status — Value = 1, DisplayName = «In Progress»), автоматически отображается отображаемое имя (например, «IN Progress»).
Но в Telerik RadGridView отображается ЗНАЧЕНИЕ, а не DisplayName (например, 1 в приведенном выше примере).
Вот выражение DataMemberBinding, которое я использую в пользовательском элементе управления XAML:
Я предполагаю, что ядро Lightswitch DataGrid каким-то образом получает его из запроса - я предположил, что это будет что-то вроде Binding ProjectStatus.DisplayName, но это не работает... (см. снимок экрана)
<telerik:GridViewDataColumn ShowColumnWhenGrouped="False"
Width="SizeToHeader"
CellStyle="{StaticResource FormLabelValueTextStyle}"
DataMemberBinding="{Binding ProjectStatus}">
<telerik:GridViewDataColumn.Header>
<TextBlock Style="{StaticResource HeaderCellTextBlockStyle}"
Text="Project Status" />
</telerik:GridViewDataColumn.Header>
</telerik:GridViewDataColumn>
</telerik:RadGridView.Columns>
</Controls:RadGridView>