C# WPF组合框使用数据库中的selectedValue绑定SQL
我有两张桌子。 表1通过表2ID与表2链接 我需要一个组合框来加载表2中的所有数据,并显示如表1所示的初始选择 下面的代码只能加载表2中的所有数据,但不能显示如表1所示的所选数据 有人能帮我吗? 谢谢 在该图中,当windows首次加载时,组合框应显示“Sinog Wan Trading”C# WPF组合框使用数据库中的selectedValue绑定SQL,c#,wpf,C#,Wpf,我有两张桌子。 表1通过表2ID与表2链接 我需要一个组合框来加载表2中的所有数据,并显示如表1所示的初始选择 下面的代码只能加载表2中的所有数据,但不能显示如表1所示的所选数据 有人能帮我吗? 谢谢 在该图中,当windows首次加载时,组合框应显示“Sinog Wan Trading” Table1 ID Name Table2ID 1 Hello 1 2 World 1 3 User 2 Table2 ID Name 1 ABC 2 DEF
Table1
ID Name Table2ID
1 Hello 1
2 World 1
3 User 2
Table2
ID Name
1 ABC
2 DEF
private DataSet getData()
{
SqlConnection conn = new SqlConnection(ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("usp_getalldata", conn);
DataSet ds = new DataSet();
da.Fill(ds, "DATA");
return ds;
}
public Details()
{
InitializeComponent();
DataSet ds = getData();
DataTable dt = ds.Tables[0];
this.combobox.ItemsSource = ((IListSource)dt).GetList();
this.combobox.DisplayMemberPath = "Name";
this.combobox.SelectedValuePath = "ID";
}
在XAML中,您应该将其作为组合框
的项源
下面是一个如何使用它的示例
<UserControl.Resources>
<ObjectDataProvider x:Key="MyDataSource" ObjectType="{x:Type my:StaticDataSource}" MethodName="GetMyData"/>
</UserControl.Resources>
...
<ComboBox ItemsSource="{Binding Source={StaticResource MyDataSource}}" SelectedValue="{Binding Table2ID}"/>
使用上面的方法,效果很好。
谢谢您的帮助。你好,纪尧姆,我可以在组合框中显示Table2记录,但是我需要如表1的Table2ID所示的comboxbox初始选定值。您需要将
ComboBox
的SelectedValue
或SelectedItem
属性绑定到Table1
对象的相应属性。在你的问题中,你的代码中没有这样的东西。
public class MyDataSource
{
private static IEnumerable<Table2> myData;
public MyDataSource(IEnumerable<Table2> data)
{
myData = data;
}
public static IEnumerable<Table2> GetMyData()
{
return myData;
}
}
this.combobox.SelectedValue = Table2ID;