2009-12-14 25 views
0

我有一個gridview有很多列..這些列是分開得到並顯示在一個gridview。如何在獲取gridview後填充數據集?

現在我需要排序這個gridview,但我不能這樣做....我已經找到了一種方法,但我將需要獲取數據表或數據集中的gridview ....是否有一種方法可以做到這一點?

DataSet ds= new DataSet(); 
ds = Gridview1.???? 

請幫助..

回答

0

一種方式做,這將是使用的DataGridView和使用此控件的數據源財產

OleDbConnection conn = new OleDbConnection(connection); 

OleDbDataAdapter adapter = new OleDbDataAdapter(); 
adapter.SelectCommand = new OleDbCommand("select * from my_table", conn); 
DataSet dataset = new DataSet(); 

// fill the data set using the query defined in the adapter 
adapter.Fill(dataset); 

// fill the grid with the data set 
DataGridView1.DataSource = dataset.Tables[0]; 
0

您可以創建一個用於表示表中每一行的新類,並綁定到該類的對象列表。然後要修復排序,可以將數據源包裝在SortableBindingList中。您可以使用這些文件PropertyComparer.cs和SortableBindingList.cs從這個zip file,並使用它像這樣:

gridView1.DataSource = new SortableBindingList<cLineItem>(list); 

我曾與一個DataGridView測試這一點。我認爲它也適用於GridView。

0

你如何在ASPX中使用SqlDataSource(或類似的)或使用.cs代碼隱藏代碼填充GridView?

如果你知道確切的化妝,但這並不好玩,就可以遍歷子控件和投射對象。如果在將數據綁定到更典型的GridView之前有任何方法複製數據。

0

我會創建一個共享方法或甚至一個類(取決於你需要這種功能的頻率),負責接收一組數據集合(然而你正在檢索這些數據列)並編譯它變成一個連貫的類型數據表。這將添加您將獲得的所有內置排序功能,並且還會爲您提供爲整個數據提供單一編譯源的功能。然後,您可以使用DefaultView對數據進行排序/混合/過濾,而不會影響其原始性質。