GridViewComboBoxColumn Telerik清空组合框,直到被选中

时间:2011-06-21 19:06:47

标签: silverlight xaml telerik

我有一个带有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 -

即使进行了这些更改,我仍然无法获取要显示的值。

2 个答案:

答案 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,但没有得到很好的回答。

如果适合您,请告诉我。