2017-01-03 54 views

回答

1

如果DataGrid的ItemsSource屬性已設置或綁定到DataTable的DataView,則可以將其轉換回DataView並從DataView的Table屬性的TableName屬性中獲取表名:

DataView dv = dg.ItemsSource as DataView; 
if(dv != null && dv.Table != null) 
{ 
    MessageBox.Show(dv.Table.TableName); 
} 

全樣本:

MainWindow.xaml.cs:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataTable dt = new DataTable() { TableName = "t1" }; 
     dt.Columns.Add(new DataColumn("Name")); 
     dt.Rows.Add("Donald Duck"); 
     dg.ItemsSource = dt.DefaultView; 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     DataView dv = dg.ItemsSource as DataView; 
     if (dv != null && dv.Table != null) 
     { 
      MessageBox.Show(dv.Table.TableName); 
     } 
    } 
} 

MainWindow.xaml:

<DataGrid x:Name="dg" /> 
<Button Content="Get" Click="Button_Click" /> 
+0

這就是我所需要的,我可以在智能感知中看到它,但是不知道如何投射它,我嘗試了幾件事情,並且我很接近,但沒有到達那裏您的代碼完美無缺。非常感謝您的幫助。 – user1500403