gpt4 book ai didi

wpf - 我如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?

转载 作者:行者123 更新时间:2023-12-04 06:30:32 28 4
gpt4 key购买 nike

我有一个包含两列的 DataTable,我将绑定(bind)到 DataGridComboBoxColumn 的所有 ComboBoxes,其中一列将是项目的文本,其他列将是项目的值。

我知道名为“DisplayMemberPath”的属性是我将列的名称指定为项目的文本的地方,并且必须在“SelectedValuePath”属性中指定它的值。

但是再一次将任何内容绑定(bind)到 DataGridComboBoxColumn 是一个问题,因为它无法访问 DataGrid 的 DataContext。

那么我如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?

我想要在代码后面工作的示例:

TestClass test = new TestClass();

dataGrid.Columns.Add(new DataGridComboBoxColumn()
{
Header = "City",
DisplayMemberPath = "Cities",
SelectedValuePath = "ID",
ItemsSource = test.Dt.DefaultView,
});

这是我的 XAML 代码:
<Window x:Class="WpfApp3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp3
Title="MainWindow" Height="350" Width="600">

<Grid Name="grid1">
<DataGrid Name="dataGrid" AutoGenerateColumns="False" MinColumnWidth="100">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="City" DisplayMemberPath="Cities" SelectedValuePath="ID" ItemsSource="{Binding local:TestClass.Dt}"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>

这是我的代码背后的代码:
public class TestClass
{
public TestClass()
{
(...)
//Here i am loading my DataTable
}

private static DataTable dt;

public static DataTable Dt
{
get { return dt; }
}
}

最佳答案

任何一个,

A.明确设置DataContext的 ComboBox 到您的 DataTable,或者

B. 如果 DataTable 是您绑定(bind)到 DataGrid 的对象的一部分,请使用 RelativeSource在 ComboBox 绑定(bind)中。

如果您需要针对这些场景的具体帮助,您将需要发布您的代码。

关于wpf - 我如何将 DataTable 设置为 DataGridComboBoxColum 的 ItemsSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5478057/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com