2016-12-30 108 views
0

我一直在尋找2天的答案,但到目前爲止找不到一個有效的。這是我想要做的:如何在運行時使用名稱變量創建多個DataGridViews

我已經閱讀了一個Excel工作表的列表到一個數組使用VB.NET 現在我想爲每個工作表創建一個DataGridview,但我無法弄清楚如何使用工作表名稱,作爲一個變量,從數組中創建DataGridView的。

我曾嘗試以下:

Dim dgvName as String = array(0) 
Dim dgvName As New DatGridView 

For x = 0 to array.length -1 
    Dim array(x) As New DataGridView 
Next 

無論這些工作。

任何人都可以解釋我怎麼能做到這一點?

在此先感謝。

+0

你不能。變量必須在編譯時定義。創建一個列表來存儲dgv對象 – Plutonix

+0

謝謝。我將查找如何執行dgv對象列表。 – mbcharney

+0

'私有myDGVs作爲新列表(DataGridView)'然後只是'.Add'您創建的DGV到它 – Plutonix

回答

1

我不會創建多個DataGridViews,因爲它太重。最有可能的情況是,您會在同一時間查看一張表格,只需更改其DataSource即可在單個網格視圖中執行此操作。

這裏是你一般需要做

  1. 使用Microsoft.Ace.OleDb提供程序連接到Excel(連接)
  2. 使用OleDbDataAdapter填補DataSet。在#1提供商的好處是,你可以使用Excel工作像任何數據庫表,即Select * from sheet_name
  3. 一旦您填寫DataSet,其中每個DataTable將代表您的工作簿片,分配gridView.DataSource = dataSet.Tables(0)
  4. 創建邏輯,用戶點擊某物並在dataSet.Tables(index)中更改索引。這樣你可以有一個網格。

您可以輕鬆地研究列表中的每個項目。這方面有很多資源。

+0

抱歉,延遲。病倒了好幾天。這是最適合我的情況的解決方案。非常感謝 – mbcharney

+0

@mbcharney我希望你對谷歌這些事情沒有太大的困難。只要設計好,很容易 –

+0

不,它很好。我現在正在使用你的建議工作。再次感謝。 – mbcharney