在此处开发WPF应用程序。我有一个Linq-to-SQL类,它在设计器中包含几个表。
我有一个组合框,它在InitializeComponent上填充了SQL server元数据表的"Table_Name"列。。。
public MainWindow()
{
InitializeComponent();
DBConnDataContext db = new DBConnDataContext();
var query = from s in db.tbdbDownloadTables
where s.Include == "Y" && s.Table_Schema == "ref" && s.WhereClause == null && s.CCCP == null
select s.Table_Name;
ComboBox.ItemsSource = query;
}
这一切都很好:)
我有一个相邻的数据网格,我想在用户的组合框选择中填充它。如何将组合框选择(Table_Name)列引用到要填充DataGrid的表?我正在尝试使用Mapping.GetTables在上下文中创建一个表列表,但不确定从这里到哪里。。。
public void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string ComboBoxValue = ComboBox.SelectedItem.ToString();
DBConnDataContext db2 = new DBConnDataContext();
//var tableModel = (from tables in db2.Mapping.GetTables() select tables.TableName).ToList(); ????
var query2 = from tab in db2.tbdbDownloadTables
where tab.Table_Name == ComboBoxValue
select tab;
TableGrid.ItemsSource = query2;
}
现在,您的ComboBox.SelectedItem将成为tbdbDownloadTable的对象,因此您可以尝试将发件人强制转换为该对象。
var myTable = sender as tbdbDownloadTables;
然后可以使用表中的属性。