2013-03-02 36 views
1

可能有人請告訴我,爲什麼這行代碼是不是爲我工作:爲什麼這行代碼不起作用?

DataTable dt = new DataTable(); 
dt = (DataTable)this.dataGridView_Clients.DataSource; 

我想明確地投的DataSource對象數據表,但它給我這個異常:

Volkswagen App.exe中出現未處理的類型爲「System.InvalidCastException」的異常

其他信息:無法轉換類型爲「System.Windows.Forms.BindingSource」的對象以鍵入「System.Data.DataTable」

+2

什麼是數據源的原始類型?如果它不是'DataTable',則不能只投射它。 – Oded 2013-03-02 20:09:45

回答

5

因爲DataGridViewDataSource是類型BindingSource而不是DataTable(在你的情況下)。你可以試試這個:

dt = (DataTable)((BindingSource)this.dataGridView_Clients.DataSource).DataSource; 
0

這不起作用,因爲你的Datasource不是DataTable一種亞型(也沒有DataTable)。

相關問題