private void BindDataGrid() { pagerControl1.OnPageChanged += new EventHandler(pagerControl1_OnPageChanged); pagerControl1.OnPageSizeValueInvalid += new EventHandler(pagerControl1_OnPageSizeValueInvalid); AddCheckBoxToDataGridView.dgv = dgv_orders; AddCheckBoxToDataGridView.AddFullSelect(); AddCheckBoxToDataGridView.SelectAllCheckBoxChanged += new Action(OnSelectAllCheckBoxChanged); dgv_orders.AutoGenerateColumns = false; }
private void ProcessSelectedCheckBoxForDatagridview(DataGridView datagridview) { if (datagridview != null && datagridview.SelectedRows != null) { var selectedRows = datagridview.SelectedRows.Cast <DataGridViewRow>(); foreach (var dataGridViewRow in selectedRows) { var checkboxCell = dataGridViewRow.Cells[0] as DataGridViewCheckBoxCell; checkboxCell.Value = !(bool)checkboxCell.FormattedValue; } } ShowMessage(string.Format("当前选中了{0}份报告", AddCheckBoxToDataGridView.GetSelectedRows().Count)); }
private void btnPrint_Click(object sender, EventArgs e) { try { var dialogResult = MessageBox.Show("确定打印吗?", "确定打印吗?", MessageBoxButtons.YesNo); if (dialogResult == System.Windows.Forms.DialogResult.No) { return; } if (AddCheckBoxToDataGridView.GetSelectedRows().Count == 0) { MessageBox.Show("请先选择订单"); return; } //Item1 = OrderNumber, Item2 = Cell_OrderStatus, Item3 = Cell_ReportTemplateId, Item4 = Cell_AuditStatus List <Tuple <string, string, string, string> > orderDtoList = AddCheckBoxToDataGridView.GetSelectedRows() .Select(r => Tuple.Create( r.Cells["Cell_OrderNumber"].Value.ToString(), r.Cells["Cell_OrderStatus"].Value.ToString(), r.Cells["Cell_ReportTemplateId"].Value.ToString(), r.Cells["Cell_AuditStatus"].Value.ToString() )).ToList(); var wrongStatusOrderDtos = orderDtoList.FindAll(o => AllowPrintStatusList.Contains(o.Item2) == false); if (wrongStatusOrderDtos.Any()) { MessageBox.Show(string.Format("选中订单号为:{0},没有[完成总检],报告未出,不能预览和打印", string.Join(",", wrongStatusOrderDtos.Select(o => o.Item1).ToArray()))); return; } if (_isNeedFinanceAudit) { var unAuditOrderDtos = orderDtoList.FindAll(o => o.Item4 == ConstString.FinanceAuditStatus_UnAudit); if (unAuditOrderDtos.Any()) { MessageBox.Show(string.Format("选中订单号为:{0},没有[财务审核],不能预览和打印", string.Join(",", unAuditOrderDtos.Select(o => o.Item1).ToArray()))); return; } } var wrongTemplateIdOrderDtos = orderDtoList.FindAll(o => PrintingApp.ReportTemplates.Exists(r => r.Id == int.Parse(o.Item3)) == false); if (wrongTemplateIdOrderDtos.Any()) { MessageBox.Show(string.Format("选中订单号为:{0}, 不能找到报告模板文件", string.Join(",", wrongTemplateIdOrderDtos.Select(o => o.Item1).ToArray()))); return; } if (PrintingApp.CurrentUserInfo.UserPrinterConfig == null) { MessageBox.Show("加载本地打印配置失败!"); return; } string printerName = PrintingApp.CurrentUserInfo.UserPrinterConfig.A4Printer ?? PrintingApp.CurrentUserInfo.UserPrinterConfig.A5Printer; if (string.IsNullOrWhiteSpace((printerName))) { MessageBox.Show("请先维护打印机!"); return; } var reportInfoDtos = new List <ReportInfo>(); orderDtoList.ForEach(o => { Int32 reportTemplateId = int.Parse(o.Item3); var reportTemplate = PrintingApp.ReportTemplates.FirstOrDefault(r => r.Id == reportTemplateId); if (reportTemplate != null) { reportInfoDtos.Add(new ReportInfo() { OrderNumber = o.Item1, ReportTemplateCode = reportTemplate.Code }); } }); Thread backgroudWorkerThread = new Thread(new ParameterizedThreadStart(backgroudWorker_PrintReports)); backgroudWorkerThread.Start(reportInfoDtos); } catch (Exception ex) { Log.Error("Error while processing print button.", ex); } }
private void OnSelectAllCheckBoxChanged() { ShowMessage(string.Format("当前选中了{0}份报告", AddCheckBoxToDataGridView.GetSelectedRows().Count)); }
private void PresentData(QueryOrdersResponse response) { AddCheckBoxToDataGridView.Refresh(); dgv_orders.DataSource = response.Result; pagerControl1.DrawControl(response.OrderCount); }