【问题标题】:GridViewComboBoxColumn Telerik empty combobox until selectedGridViewComboBoxColumn Telerik 空组合框直到被选中
【发布时间】:2011-06-21 19:06:46
【问题描述】:

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

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

【问题讨论】:

    标签: silverlight xaml telerik


    【解决方案1】:

    将列上的 CellTemplate 设置为以下内容。

    <telerik:GridViewComoBoxColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=CurrencyQuality.DisplayText}"/>
        </DataTemplate>
    </telerik:GridViewComoBoxColumn.CellTemplate>
    

    【讨论】:

    • CurrencyQuality 是什么类型的?是否与 CurrencyQualityList 中的对象类型相同?
    【解决方案2】:

    即使我遇到了同样的问题,但我找到了解决方法。 完成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,但没有得到很好的回答。

    如果这对你有用,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多