2015-08-19 39 views
0

添加值後,我用建在UI列一個DataGridView,datagridview的數據源是空的UI

我添加了嘗試將數據源轉換成數據表的按鈕。

datagridview綁定到bindingsource,綁定到新的datatable。

在ui上添加值並單擊按鈕後,我嘗試從數據源獲取數據表,但它保留爲空。

BindingSource b = new BindingSource(); 
b.DataSource = new DataTable(); 
grdView.DataSource = b; 

public void OnButtonClick() 
{ 
    BindingSource b = (BindingSource)grdView.DataSource; 
    DataTable dt = b.DataSource; 
    // dt keeps be null (but count is the count of the added rows) 
} 
+0

是否要將其綁定到dataSource的副本或DataSource本身? –

回答

0

MSDN

的數據源屬性可被設置爲多個數據源的,包括 類型,對象,和類型的列表。生成的數據 源將作爲列表公開數據源

數據源是List,而不是DataTable。這可能是爲什麼它有一個計數,但dt結束爲空。 使用BindingSource的原因是,您可以在不通過UI組件(網格)的情況下訪問數據。如果你想要數據,從BindingSource獲取它,不要從網格中獲取它。