Пример #1
0
        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;
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
 private void OnSelectAllCheckBoxChanged()
 {
     ShowMessage(string.Format("当前选中了{0}份报告", AddCheckBoxToDataGridView.GetSelectedRows().Count));
 }
Пример #5
0
 private void PresentData(QueryOrdersResponse response)
 {
     AddCheckBoxToDataGridView.Refresh();
     dgv_orders.DataSource = response.Result;
     pagerControl1.DrawControl(response.OrderCount);
 }