2013-06-21 92 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; 

然後,您可以使用表中的屬性。