2013-06-21 93 views
0

在此处开发WPF应用程序。我有一个Linq to SQL类,在设计器中持有几个表。从ComboBox选择填充DataGrid(Linq到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;   

    } 

这一切工作正常:)

我有一个相邻的数据网格,我想填充用户的ComboBox选择。如何将ComboBox选择(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; 

     } 

回答

0

现在你ComboBox.SelectedItem将是tbdbDownloadTable的对象所以你可以尝试将发送者转换为该发送者。

var myTable = sender as tbdbDownloadTables; 

然后,您可以使用表中的属性。