我有一個DataGridView,我想用它來存儲通用數據。我想在DataGridView類中保存一個類型化的數據列表,以便所有類型等都可以在內部處理。但我不想在DataGridView上設置類型,因爲在調用InitializeData方法之前我不會知道數據類型。將通用數據存儲在非泛型類中
public class MyDataGridView : DataGridView {
private List<T> m_data;
public InitializeData<T>(List<T> data) {
m_data = data;
}
... internal events to know when the datagrid wants to sort ...
m_data.Sort<T>(...)
}
這可能嗎?如果是這樣,怎麼樣?
如果你可以擴展你如何設想被調用的Sort方法將是很有幫助的。你呼叫什麼樣的超載,參數來自哪裏。 – kvb 2009-06-18 17:04:34
排序方法將使用一個使用反射來排序列表的GenericComparer。比較器爲屬性進行排序並使用SortOrder進行升序或降序。數據網格視圖列具有與它們相關聯的屬性,所以當點擊列時,我從列信息中提取屬性和排序順序。 – ericmck 2009-06-18 17:30:33