我有一個對象列表,其成員各有一個對象列表。例如,給出以下2類:以清單列表作爲其數據源的RDLC報告
Class Phone
string AreaCode
string Description
string Number
Class Employee
string FirstName
string LastName
List<Phone> Phones
然後我有多個員工,每個與多個手機:
List<Employee> Employees
我與創建一個RDLC報告列出的數據負責。該格式將類似於:
名 姓 Phone.Description-1 Phone.Description-2 ... Phone.Description-N
名字 名字 電話。數-1 Phone.Number-2 ... Phone.Number正
姓 名字 Phone.Number-1 Phone.Number-2 ... Phone.Number正
姓 姓氏 Phone.Number-1 Phone.Number-2 ... Phone.Number正
我不不知道有多少電話(在這個例子中)將從數據庫中返回。
請注意電話上方的標頭。數列也從
List<Phone>
雖然這些都是從數據庫中還有,他們將橫跨
List<Employee>.List<Phone>
(即Employee1-電話1,和Employee2-電話1,和Employee3-的所有成員一樣Phone1將具有相同的Phone1標頭)。
我可以使用
List<Employee>
爲數據源創建一個RDLC報告,但一直無法找到一種方法,然後在同一行納入
List<Employee>.List<Phone>
其父員工。
這是RDLC矩陣中可行嗎?或者是否有可以使用的「自動生成列」類型的功能?
感謝您提供任何幫助/方向/建議。
附錄: 我應該指出,從數據庫返回的DataSet完全是我需要的格式。但是,由於我不知道將返回多少「手機」列,因此我沒有可定義的模式,因此我無法在設計器中創建報告。同樣的道理,我不能以編程方式將數據源設置爲DataSet,因爲在報告中沒有定義模式/網格。
手機數量是否有限制?如果不是,我會建議你將手機作爲行包含並使用層次結構。你也可以詳細說明你的情況嗎?報告顯示在哪裏?控制檯程序? Web應用程序 ? –
謝謝。我想,我沒有包括應用程序類型,因爲我認爲它不重要。但是,這是一個替代控制檯應用程序的MVC應用程序。它使用控制檯應用程序的存儲過程。數據完全按照控制檯網格預期的方式返回。我不知道每個「員工」會包含多少「電話」列(我不知道這是一個很好的例子)。那麼,您建議的員工名單中,每個員工都有一個電話號碼(大量重複的員工數據)?然後可以將它們彙總爲一個Tablix,每行都是唯一的員工數據,然後是未知數量的電話列? – Metallicraft
準確。只有其他選項是奇怪的 - 例如隨時生成rldc xml文件/流並添加您在數據集中看到的所有列。請參閱http://stackoverflow.com/questions/28898087/generate-columns-dynamically-in-rdlc以供參考。 –