我有一个带有GridViewComboBoxColumn的telerik GridView - 这个控件是空的,直到我点击该列中的一个项目。点击该列后,会显示这些值。
<telerik:GridViewComboBoxColumn Header="Currency Quality" EditTriggers="CellClick"
ItemsSource="{Binding Path=CurrencyQualityList, Source={StaticResource mainPageViewModel}}"
SelectedValueMemberPath="DisplayText"
DataMemberBinding="{Binding CurrencyQuality, Mode=TwoWay}" DisplayMemberPath="DisplayText">
</telerik:GridViewComboBoxColumn>
我在页面顶部看到了这个内容。
<UserControl.Resources>
<local:SearchRedemptionDetailViewModel x:Key="mainPageViewModel" />
</UserControl.Resources>
我正在使用MVVM框架 - 我的ViewModel中有一个可观察的LookupValue类型集合。我的组合框的来源是CurrencyQualityList。我的查找值有两个属性,DisplayText和Value -
即使进行了这些更改,我仍然无法获取要显示的值。
答案 0 :(得分:0)
将列上的CellTemplate设置为以下内容。
<telerik:GridViewComoBoxColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=CurrencyQuality.DisplayText}"/>
</DataTemplate>
</telerik:GridViewComoBoxColumn.CellTemplate>
答案 1 :(得分:0)
即使我有同样的问题,但我得到了解决方法。
完成GridViewComboBoxColumn
的绑定后,我们需要设置网格的数据源。
示例代码:
void BaseGridUserControl_LoadComboBoxColumns()
{
MYDomainContext myDomainContext =
new MYDomainContext();
#region Bind to Grade Code Column
GridViewComboBoxColumn gradeCodeColumn =
(GridViewComboBoxColumn)BaseGridUserControl.BaseGridControl.Columns["GRADE_ID"];
if (gradeCodeColumn != null)
{
myDomainContext.Load(myDomainContext.GetGradesByBlockedQuery());
gradeCodeColumn.ItemsSource = myDomainContext.GRADEs;
gradeCodeColumn.DisplayMemberPath = "Grade_Desc";// +" " + "Grade_Description";
gradeCodeColumn.SelectedValueMemberPath = "Grade_ID";
}
#endregion
//Set the grid's data source here
SetParentDataSource();
}
我将此查询发布到Telerik,但没有得到很好的回答。
如果适合您,请告诉我。