该控件用于 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>
有任何想法吗?