2010-07-06 66 views
0

我想將包含一個表的數據集轉換爲數據網格,以獲得每列的寬度,以便在上面添加正確寬度的許多組標題。c#數據集到DataGrid

我試過「mydatagrid.ItemsSource = mydataset.Table [0] .defaultview;」它工作正常 除了這條指令不填充我的datagrid中的任何列,所以我不能得到任何列的任何寬度。

如果有人有想法,非常感謝。

+0

您是使用WinForms還是ASP.NET? – slugster 2010-07-06 12:36:00

+0

我正在使用WPF進行應用程序.NET。 – Doncho 2010-07-06 13:35:50

回答

0

您是否設置了AutoGenerateColumns = true

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.autogeneratecolumns.aspx

你的問題聽起來有點怪怪的。你知道,DataGrid是一個Web控件,是嗎?

+0

他似乎在使用WinForms控件,而不是ASP.NET? – slugster 2010-07-06 12:35:43

+0

好的,所以,我使用的是WPF,而我的數據網格是爲.Net應用程序而不是網站。 我已經成功將我的數據網格設置爲我的數據集,一切工作正常,但是當我調試我可以看到,我的數據網格的列集合中沒有列,所以我不能迭代以獲得每列的寬度。 – Doncho 2010-07-06 13:33:30

+0

好吧,這是贏,而不是網絡。但我的觀點是:它是一個控件,它用於顯示數據,而不是測量列寬度(至少不是主要的)。這就是說:你的網格顯示數據?你有沒有試過AutoGenerateColumns? – Hinek 2010-07-06 13:53:38

0

首先,有兩個DataGrid控件:一個在Windows窗體的System.Windows.Forms命名空間中,另一個在System.Web.UI.WebControls for Web中。

在任何一種情況下,DataGrid都是一個顯示來自網格中數據源的數據的控件。爲了顯示數據,你必須將它綁定到一個控件。

這是從DataGrid文章引用: 「要在運行時顯示在System.Windows.Forms.DataGrid一個表,使用SetDataBinding方法來設置DataSource和DataMember屬性到一個有效的數據源」。

dataGrid1.SetDataBinding(SuppliersProducts, "Suppliers"); 
+0

好的感謝精度,但我忘記提及,我正在使用WPF和我的DataGrid,這是我的xaml中使用,使用命名空間 「Microsoft.Windows.Controls」,我不知道如何使用xaml中的其他數據網格。 – Doncho 2010-07-06 13:24:11

0

所以我回來了一個解決方案。 我的列是空的,因爲我的代碼在事件發生之前定義「已加載」發生,所以現在一切都是完美的。

感謝您對數據網格的精確度。