wpf - 如何在另一个 RadGridView 的 RowDetailsTemplate 中绑定一个 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()
是上面示例代码中方法返回的对象类型。
推荐阅读
- java - 如何在 Java Swing 中的 Textarea 或 JFrame 上添加 ScrollBar?
- php - 根据 Woocommerce 中的购物车商品尺寸从费用中排除几个运输类别
- python - python selenium 不能与输入元素交互?
- html - Bootstrap 4 输入下拉列表。如何?
- ruby-on-rails - WooCommerce Webhooks 是否在保存时发送 X-WC-Webhook-Signature 标头?
- c# - C# Reactive Extensions - 我应该退回一次性用品吗?
- javascript - 无法从子目录中找到模块 windows 10
- javascript - 如何将字符串转换为从 FileReader.readAsDataURL() 生成的实际文件
- html - 如何将 HTML 图像标签用于响应式图像?
- c - 在 C 中使用结构值和全部