Проблема с отображением того же списка уровней, что и список, который был сгруппирован в crystalreport
У меня возникли проблемы с отображением того же списка уровней, что и список, который был групповым. Здесь я постараюсь объяснить наиболее легко
Мои данные таковы:
Driver { 0_Code: 01 | Name: A | Salary: 1000 1_Code: 02 | Name: B | Salary: 2000 } Travel { 0_DriverC: 01 | Name: A | Salary: 1000 | Date: 5/2 | Route: ABC 1_DriverC: 01 | Name: A | Salary: 1000 | Date: 7/2 | Route: XYZ 2_DriverC: 02 | Name: B | Salary: 2000 | Date: 1/2 | Route: EFG } Expense { 0_DriverC: 01 | ExpenseN: X | ExpenseMoney: 100 1_DriverC: 01 | ExpenseN: Y | ExpenseMoney: 500 2_DriverC: 01 | ExpenseN: Z | ExpenseMoney: 300 3_DriverC: 02 | ExpenseN: K | ExpenseMoney: 400 }
В CrystalReport я разработал следующее:
Section1(Report Header) _____________________________ Section2(Page Header) _____________________________ GroupHeaderSection2(Group Header#1: Travel.DriverC-A) _____________________________ Section3(Details) Driver Name: ?Name ?Date ?DriverC ?Nane ?Route ?Salary _____________________________ GroupHeaderSection2(Group Footer#1: Travel.DriverC-A) TotalSalary Sum of ?Salary ExpenseN (Here i will list the costs by the Driver group) ?ExpenseMoney Total Sum of (?Salary,?ExpenseMoney)
Отчет о результатах, который я хочу, может быть следующим:
Driver Name: A 5/2 01 A ABC 1000 7/2 01 A XYZ 1000 TotalSalary 2000 X 100 Y 500 Z 300 Total 4900 _____________________________ Driver Name: B 1/2 02 B EFG 2000 TotalSalary 2000 K 400 Total 2400
Это код, который присваивает значения DataRow:
var travel = TravelService.GetAllQueryable().ToList(); for(int i = 0; i < travel.Count; i++) { row = dt.NewRow(); row["Date"] = travel[i].Date; row["DriverC"] = travel[i].DriverC; row["Nane"] = travel[i].Nane; row["Route"] = travel[i].Route; row["Salary"] = travel[i].Salary; var expense = ExpenseService.Query(p => p.DriverC == travel[i].DriverC).ToList(); for(int k = 0; k < expense.Count; k++) { row["ExpenseN"] = expense[k].ExpenseN; row["ExpenseMoney"] = expense[k].ExpenseMoney; } dt.Rows.Add(row); }
Что я уже пробовал:
Я думаю, что код, присваивающий значение расходам, имеет проблему. Я смущаюсь, когда показываю список одного и того же уровня. Как я могу отобразить список расходов по командировкам, которые были сгруппированы?