示例#1
0
        private void btnRechargeCardView_Click(object sender, EventArgs e)
        {
            if (!ValidateDataCardInput())
            {
                return;
            }

            dgvRechargeCardHistory.DataSource = null;

            DateTime date_begin = new DateTime(dtpSaleGasBegin.Value.Year, dtpSaleGasBegin.Value.Month, dtpSaleGasBegin.Value.Day, 0, 0, 0);

            DateTime date_end   = new DateTime(dtpSaleGasEnd.Value.Date.Year, dtpSaleGasEnd.Value.Month, dtpSaleGasEnd.Value.Day, 23, 59, 59);
            String   customerId = (cboRechargeCardCustomer.SelectedItem as ComboboxItem).Value.ToString();

            Task <String> task = SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterTask(
                () =>
            {
                return(m_service.SGMSaleGas_GetCardReport(customerId, date_begin, date_end, txtRechargeCardID.Text.Trim()));
            });

            SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterContinuation(task, () =>
            {
                String stResponse         = task.Result as String;
                DataTransfer dataResponse = JSonHelper.ConvertJSonToObject(stResponse);
                if (dataResponse.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS)
                {
                    if (dataResponse.ResponseDataSet != null)
                    {
                        dgvRechargeCardHistory.DataSource = dataResponse.ResponseDataSet.Tables[0];
                        cardReportViewer.Reset();
                        String tableName = dataResponse.ResponseDataSet.Tables[0].TableName;
                        DataTable data   = dataResponse.ResponseDataSet.Tables[0];
                        cardReportViewer.LocalReport.DataSources.Add(new ReportDataSource(tableName, data));

                        ReportBuilder reportBuilder = new ReportBuilder();
                        reportBuilder.DataSource    = dataResponse.ResponseDataSet;
                        reportBuilder.Page          = new ReportPage();


                        ReportSections reportHeader = new ReportSections();
                        reportHeader.Size           = new ReportScale();
                        reportHeader.Size.Height    = 0.1;

                        ReportItems reportHeaderItems    = new ReportItems();
                        ReportTextBoxControl[] headerTxt = new ReportTextBoxControl[1];
                        headerTxt[0] = new ReportTextBoxControl()
                        {
                            Name = "txtReportTitle", ValueOrExpression = new string[] { string.Format("Sales Report: {0}", DateTime.Now) }
                        };

                        reportHeaderItems.TextBoxControls = headerTxt;
                        reportHeader.ReportControlItems   = reportHeaderItems;
                        reportBuilder.Page.ReportHeader   = reportHeader;

                        cardReportViewer.LocalReport.LoadReportDefinition(ReportEngine.GenerateReport(reportBuilder));

                        cardReportViewer.RefreshReport();
                    }
                    else
                    {
                        frmMsg.ShowMsg(SGMText.SGM_INFO, SGMText.REPORT_NO_DATA, SGMMessageType.SGM_MESSAGE_TYPE_INFO);
                    }
                }
                else
                {
                    frmMsg.ShowMsg(SGMText.SGM_ERROR, dataResponse.ResponseErrorMsg, SGMMessageType.SGM_MESSAGE_TYPE_ERROR);
                }
            }, SynchronizationContext.Current);
        }