private void GroupTest_Click(object sender, RoutedEventArgs e) { var dd = StudentService.GetStudents(); var gp = dd.GroupBy(p => p.Exchange); foreach (var g in gp) { Console.WriteLine(g.Key); foreach (var p in g) { Console.WriteLine(p.ToString()); } } var datas = GroupDataProvider.GetGroupData(); //方法一 var cmp = (from t in datas group t by new { CompanyID = t.CompanyID } into g select new CCompany() { CompanyID = g.Key.CompanyID }).ToList(); //方法二 var cmp1 = datas.GroupBy(p => p.CompanyID).Select(p => new CCompany() { CompanyID = p.Key }).ToList(); //方法二 var deps = datas.GroupBy(p => new { p.CompanyID, p.DepartmentID }).Select(p => new CDepartment() { CompanyID = p.Key.CompanyID, DepartmentID = p.Key.DepartmentID }); }
public static void Run() { Report report = new Report(Json.Read("report\\feature.rrpt")); // "feature-4"にgetDataTable1-4をそれぞれ割り当てます GroupDataProvider dataProvider = new GroupDataProvider(); dataProvider.GroupDataMap.Add("feature1", new ReportDataSource(getDataTable1())); dataProvider.GroupDataMap.Add("feature2", new ReportDataSource(getDataTable2())); dataProvider.GroupDataMap.Add("feature3", new ReportDataSource(getDataTable3())); dataProvider.GroupDataMap.Add("feature4", new ReportDataSource(getDataTable4())); // 第2引数にdataProviderを渡します report.Fill(DummyDataSource.GetInstance(), dataProvider); ReportPages pages = report.GetPages(); // PDF出力 using (FileStream fs = new FileStream("output\\feature.pdf", FileMode.Create)) { PdfRenderer renderer = new PdfRenderer(fs); renderer.Setting.ReplaceBackslashToYen = true; pages.Render(renderer); } // XLS出力 using (FileStream fs = new FileStream("output\\feature.xls", FileMode.Create)) { HSSFWorkbook workbook = new HSSFWorkbook(); XlsRenderer renderer = new XlsRenderer(workbook); renderer.NewSheet("feature"); pages.Render(renderer); workbook.Write(fs); } // XLSX出力 using (FileStream fs = new FileStream("output\\feature.xlsx", FileMode.Create)) { XSSFWorkbook workbook = new XSSFWorkbook(); XlsxRenderer renderer = new XlsxRenderer(workbook); renderer.NewSheet("feature"); pages.Render(renderer); workbook.Write(fs); } // プレビュー { FmPrintPreview preview = new FmPrintPreview(new Printer(pages)); preview.StartUpZoomFit = true; preview.ShowDialog(); } }
public static void Run() { Report report = new Report(Json.Read("report\\example_dataprovider.rrpt")); // "group_shohin"という識別子を持ったグループには、 // getShoninDataTableから得られるデータを割り当てます GroupDataProvider dataProvider = new GroupDataProvider(); dataProvider.GroupDataMap.Add("group_shonin", new ReportDataSource(getShoninDataTable())); // 第2引数にdataProviderを渡します report.Fill(new ReportDataSource(getDataTable()), dataProvider); ReportPages pages = report.GetPages(); // PDF出力 using (FileStream fs = new FileStream("output\\example_dataprovider.pdf", FileMode.Create)) { PdfRenderer renderer = new PdfRenderer(fs); renderer.Setting.ReplaceBackslashToYen = true; pages.Render(renderer); } // XLS出力 using (FileStream fs = new FileStream("output\\example_dataprovider.xls", FileMode.Create)) { HSSFWorkbook workbook = new HSSFWorkbook(); XlsRenderer renderer = new XlsRenderer(workbook); renderer.NewSheet("example_dataprovider"); pages.Render(renderer); workbook.Write(fs); } // XLSX出力 using (FileStream fs = new FileStream("output\\example_dataprovider.xlsx", FileMode.Create)) { XSSFWorkbook workbook = new XSSFWorkbook(); XlsxRenderer renderer = new XlsxRenderer(workbook); renderer.NewSheet("example_dataprovider"); pages.Render(renderer); workbook.Write(fs); } // プレビュー { FmPrintPreview preview = new FmPrintPreview(new Printer(pages)); preview.StartUpZoomFit = true; preview.ShowDialog(); } }