コード例 #1
0
 private void UpdateInvoiceReport()
 {
     PanelInvoiceReport.BringToFront();
     BusinessService.BusinessService service = new BusinessService.BusinessService();
     DataTable dTable = ReportConverter.Convert(service.GetInvoiceReport(DateInvoiceReport.Value, ((MainForm)MdiParent).User.EmployeeTypeID));
     if (dTable == null)
         return;
     // Add order column
     if (((MainForm)MdiParent).User.IsManager())
         dTable.Columns.Add("Selected", typeof(bool));
     dTable.Columns.Add("View", typeof(bool));
     dTable.Columns.Add("No.", typeof(string));
     string oldInvoiceID = "";
     int cnt = 1;
     for (int i = 0;i < dTable.Rows.Count;i++)
     {
         bool selected = (dTable.Rows[i]["hidden"].ToString() == "True");
         if (((MainForm)MdiParent).User.IsManager())
             dTable.Rows[i]["Selected"] = (dTable.Rows[i]["hidden"].ToString() == "True");
         dTable.Rows[i]["View"] = false;
         if (oldInvoiceID == dTable.Rows[i]["invoiceid"].ToString())
         {
             dTable.Rows[i]["No."] = "";
             continue;
         }
         dTable.Rows[i]["No."] = (cnt++).ToString();
         oldInvoiceID = dTable.Rows[i]["invoiceid"].ToString();
     }
     dTable.Columns.Remove("hidden");
     // Bind data to data grid
     InvoiceReportGrid.DataSource = dTable;
     DataGridTableStyle tStyle = new DataGridTableStyle();
     tStyle.RowHeadersVisible = false;
     tStyle.PreferredRowHeight = 32;
     tStyle.PreferredColumnWidth = (InvoiceReportGrid.Width - 66) / (dTable.Columns.Count - 3);
     tStyle.HeaderBackColor = Color.Black;
     tStyle.HeaderForeColor = Color.White;
     tStyle.AllowSorting = false;
     // Manage Column
     DataGridColumnStyle cStyle = new DataGridTextBoxColumn();
     cStyle.HeaderText = "No.";
     cStyle.MappingName = "No.";
     cStyle.Alignment = HorizontalAlignment.Center;
     cStyle.Width = 50;
     tStyle.GridColumnStyles.Add(cStyle);
     for (int i = 2;i < dTable.Columns.Count - 1;i++)
     {
         if (i >= 5)
             cStyle = new DataGridBoolColumn();
         else
             cStyle = new DataGridTextBoxColumn();
         cStyle.HeaderText = dTable.Columns[i].ColumnName;
         cStyle.MappingName = dTable.Columns[i].ColumnName;
         cStyle.Alignment = HorizontalAlignment.Center;
         cStyle.ReadOnly = false;
         tStyle.GridColumnStyles.Add(cStyle);
     }
     InvoiceReportGrid.TableStyles.Clear();
     InvoiceReportGrid.TableStyles.Add(tStyle);
     Table = dTable;
     UpdateInvoiceSummaryReport();
 }