我正在處理一個巨大的,有很多脆弱代碼的舊項目,其中一些已經出現在.NET 1.0時代以後,並且它已經被其他人使用過了......因此, d喜歡儘可能少地改變。我可以創建從強類型DataRow繼承的自定義類嗎?
我在我的解決方案中包含一個項目,其中包含DataSet.xsd。該項目編譯爲一個單獨的程序集(Data.dll)。數據庫模式包括幾個分層次排列的表,但這些表實際上鍊接在一起的唯一方式是通過連接。我可以得到,例如DepartmentRow
和EmployeeRow
來自自動生成代碼的對象。 EmployeeRow
包含員工相應的DepartmentRow
通過加入的信息。
我正在製作一份新報告以查看多個部門及其所有員工。如果我使用現有的數據訪問方案,我將能夠得到的是類似電子表格的輸出,其中每個員工都在一行中表示,部門信息在其適當的列中反覆重複。例如:
Department1...Employee1...
Department1...Employee2...
Department2...Employee3...
但是客戶希望每個部門都像一個標題一樣呈現,每個部門都有一個員工名單。例如:
- Department1...
Employee1...
Employee2...
+ Department2...
我想通過從自動生成的Row對象繼承分層對象來做到這一點。例如: -
public class Department : DataSet.DepartmentRow {
public List<Employee> Employees;
}
這樣,我可以通過嵌套使用部門的集合在報表中的數據對象作爲數據源,每個將放置在一個報表員工的名單。
問題是,這給我一個The type Data.DataSet.DepartmentRow has no constructors defined
錯誤。當我嘗試構造一個構造函數時,例如
public class Department : DataSet.DepartmentRow {
private Department() { }
public List<Employee> Employees;
}
我得到一個錯誤'Data.DataSet.DepartmentRow(System.Data.DataRowBuilder)' is inaccessible due to its protection level.
除了第一個。
有沒有辦法完成我想要做的事情?還是有什麼我應該完全嘗試?
我覺得你的痛... – SLaks 2010-05-11 19:00:06