【问题标题】:WPF - Bind DataGridTextColumn from id -> child table fieldWPF - 从 id 绑定 DataGridTextColumn -> 子表字段
【发布时间】:2010-11-07 21:48:42
【问题描述】:

我有一个由 sql 表填充的数据网格。其中一个字段是与数据库中另一个表相关(一对多)的 id。当我在数据库中显示此字段时,我想将其显示为引用子表中的名称字段的 TextBlock/DataGridTextColumn。子表作为 MainWindow 的 DataContext 预加载在视图模型中。

我一直在研究属性索引器以尝试这样做,但似乎索引不能是可变的,例如;

<DataGridTextColumn Header="Supplier name" Binding="{Binding Path=DataContext.Suppliers[{Binding SupplierID}].SupplierName, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>

我在这里做错事了吗?我应该改用转换器吗?或者,我是否应该简单地将数据网格绑定到包含 id 和 name 字段的 SQL 视图?

【问题讨论】:

    标签: wpf data-binding datagrid


    【解决方案1】:

    您应该能够将 MultiBinding 与转换器一起使用。查看here,在您的情况下,将“供应商”和“供应商ID”传递给MultiValueConverter。

    【讨论】:

    • 感谢科林,这行得通,但是对性能的影响很大。让 SQL 返回包含供应商名称的视图似乎更好。
    • 实际上,我收回了这一点,我的性能问题与其他事情有关,这是一种享受! :)
    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 2013-12-10
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多