0

该控件用于 Telerik RadGridView,但也可以使用 DataGrid 的解决方案。

我试图弄清楚如何为我的数据网格中的几个组合框绑定项目源。场景如下:

在每一行中,有 3 个组合框。

ComboBox #1 - 显示一周中的当前天数,例如。10 月 21 日星期一,10 月 22 日星期二 [...],10 月 27 日星期日。

ComboBox #2 - 根据在 ComboBox #1 中选择的日期显示可用的 JobNumber。

ComboBox #3 - 显示选定 JobNumber 的潜在 SubJobNumber。子作业编号可以由多个作业编号使用,因此此表位于桥中....

如果您需要我提供更多信息来帮助澄清情况,请告诉我!

数据库模式

代码背后:

var dayOfWeekCollectionViewSource = (CollectionViewSource)this.FindResource("DayOfWeekCollectionViewSource");
        dayOfWeekCollectionViewSource.Source = this.currentWeek;
var jobNumberCollectionViewSource = (CollectionViewSource)this.FindResource("JobNumberCollectionViewSource");
        jobNumberCollectionViewSource.Source = this.jobNumbers;

    var subJobNumberCollectionViewSource = (CollectionViewSource)this.FindResource("SubJobNumberCollectionViewSource");
        subJobNumberCollectionViewSource.Source = this.subJobNumbers;

页面资源:

<CollectionViewSource x:Key="DayOfWeekCollectionViewSource"
                          d:DesignSource="{d:DesignInstance System:DateTime, CreateList=True}" />
<CollectionViewSource x:Key="JobNumberCollectionViewSource"
                          d:DesignSource="{d:DesignInstance DataAccess:JobNumber, CreateList=True}" />
<CollectionViewSource x:Key="SubJobNumberCollectionViewSource"                           d:DesignSource="{d:DesignInstance DataAccess:SubJobNumber, CreateList=True}" />

Telerik RadGridView:

<telerik:RadGridView x:Name="TimesheetLineItemGridView"
                             Grid.Row="0"
                             Grid.Column="0"
                             Grid.ColumnSpan="2"
                             ItemsSource="{Binding}"
                             AutoGenerateColumns="False"
                             ShowGroupPanel="False"
                             RowIndicatorVisibility="Collapsed">
    <telerik:RadGridView.Columns>
        <telerik:GridViewCheckBoxColumn Header="Approved"
                                        DataMemberBinding="{Binding Path=ApprovedDateTime, Mode=TwoWay, Converter={StaticResource approvedCheckboxConverter}}" />
        <telerik:GridViewComboBoxColumn Header="Day"
                                        ItemsSource="{Binding Source={StaticResource DayOfWeekCollectionViewSource}}"
                                        DataMemberBinding="{Binding Path=LineItemDate}" />
        <telerik:GridViewComboBoxColumn Header="Job Number"
                                        ItemsSource="{Binding Source={StaticResource JobNumberCollectionViewSource}}"
                                    DataMemberBinding="{Binding Path=JobNumber}" DisplayMemberPath="Code" />
        <telerik:GridViewComboBoxColumn Header="Sub Job Number"
                                        ItemsSource="{Binding Source={StaticResource SubJobNumberCollectionViewSource}}"
                                    DataMemberBinding="{Binding Path=SubJobNumber}" DisplayMemberPath="Code"  />
    </telerik:RadGridView.Columns>
</telerik:RadGridView>

有任何想法吗?

4

0 回答 0