从ComboBox选择(Linq到SQL)填充DataGrid

时间:2013-06-21 14:17:06

标签: c# wpf visual-studio-2010 linq-to-sql mvvm

在此处开发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;          

    }

一切正常:)

我有一个相邻的数据网格,我想在用户的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;

        }

1 个答案:

答案 0 :(得分:0)

现在您的ComboBox.SelectedItem将成为tbdbDownloadTable的对象,因此您可以尝试将发送者强制转换为该对象。

var myTable = sender as tbdbDownloadTables;

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