该控件适用于telerik RadGridView,但也可以使用DataGrid的解决方案。
我正在试图弄清楚如何在我的数据网格中绑定几个组合框的itemssources。方案如下:
每行中有3个组合框。
ComboBox#1 - 显示一周中的当前日期,例如。 10月21日星期一,10月22日星期二[...],10月27日星期日。
ComboBox#2 - 根据在ComboBox#1中选择的日期显示可用的JobNumbers。
ComboBox#3 - 显示所选JobNumber的潜在SubJobNumbers。子作业号可以由多个JobNumber使用,因此该表位于桥中....
如果您需要我提供更多信息以帮助澄清情况,请告诉我们。
代码背后:
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>
有什么想法吗?