如何在另一个 RadGridView 的 RowDetailsTemplate 中绑定一个 RadGridView
How to bind a RadGridView in RowDetailsTemplate of another RadGridView
RadGridView 绑定到列表(例如,样本)。在 RowDetailsTemplate 中,我想显示另一个 RadGridView,它将显示来自另一个列表(例如,分析)的相关记录。
主 RadGridView 在代码后面绑定为:
GrdSamples.ItemsSource=SamplesViewModel.GetAll();
如何以同样的方式在 RowDetailsTemplate (GrdAnalysis) 中绑定 RadGridView?在哪个事件上我将获得密钥 ID,这样我就可以使用类似的东西:
var SampleID = ?
GrdAnalysis.ItemsSource=AnalysisViewModel.Get(SampleID);
这是XAML,
<telerik:RadGridView x:Name="GrdSamples" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>...</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis"
AutoGenerateColumns="False">
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
您可以处理 Loaded
事件:
private void OnLoaded(object sender, RoutedEventArgs e)
{
RadGridView inner = (RadGridView)sender;
var sample = inner.DataContext as Sample;
if (sample != null)
{
var SampleID = sample.Id;
inner.ItemsSource = AnalysisViewModel.Get(SampleID);
}
}
XAML:
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis" Loaded="OnLoaded" AutoGenerateColumns="False">
</DataTemplate>
Sample
是上面示例代码中SamplesViewModel.GetAll()
方法返回的对象类型
RadGridView 绑定到列表(例如,样本)。在 RowDetailsTemplate 中,我想显示另一个 RadGridView,它将显示来自另一个列表(例如,分析)的相关记录。
主 RadGridView 在代码后面绑定为:
GrdSamples.ItemsSource=SamplesViewModel.GetAll();
如何以同样的方式在 RowDetailsTemplate (GrdAnalysis) 中绑定 RadGridView?在哪个事件上我将获得密钥 ID,这样我就可以使用类似的东西:
var SampleID = ?
GrdAnalysis.ItemsSource=AnalysisViewModel.Get(SampleID);
这是XAML,
<telerik:RadGridView x:Name="GrdSamples" AutoGenerateColumns="False">
<telerik:RadGridView.Columns>...</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis"
AutoGenerateColumns="False">
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
您可以处理 Loaded
事件:
private void OnLoaded(object sender, RoutedEventArgs e)
{
RadGridView inner = (RadGridView)sender;
var sample = inner.DataContext as Sample;
if (sample != null)
{
var SampleID = sample.Id;
inner.ItemsSource = AnalysisViewModel.Get(SampleID);
}
}
XAML:
<DataTemplate>
<telerik:RadGridView x:Name="GrdAnalysis" Loaded="OnLoaded" AutoGenerateColumns="False">
</DataTemplate>
Sample
是上面示例代码中SamplesViewModel.GetAll()
方法返回的对象类型