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(); }