Esempio n. 1
0
        private void TvReportType_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                if (tvReportType.SelectedNode == null || tvReportType.SelectedNode.Tag == null)
                {
                    return;
                }
                this.pnlField.Controls.Clear();

                DataRow dr = tvReportType.SelectedNode.Tag as DataRow;
                long    lReportTemplateID = dr["ReportTemplateID"] == DBNull.Value ?
                                            0 : Convert.ToInt64(dr["ReportTemplateID"]);
                long lReportViewID = dr["ReportViewID"] == DBNull.Value ?
                                     0 : Convert.ToInt64(dr["ReportViewID"]);

                DataTable dtView = ExecuteSQL.CallView(133, "", "ReportViewID=" + lReportViewID, "");
                foreach (DataRow drField in dtView.Rows)
                {
                    string strFieldName = drField["FieldName"].ToString().TrimEnd();
                    string strFieldText = drField["FieldText"].ToString().TrimEnd();
                    int    FieldType    = drField["FieldType"] == DBNull.Value ?
                                          0 : Convert.ToInt32(drField["FieldType"]);

                    if (FieldType == 0 || FieldType == 1)//字符串或者数字
                    {
                        Controls.LBTextBox.CoolTextBox txtField = new LB.Controls.LBTextBox.CoolTextBox();
                        txtField.BackColor                = System.Drawing.Color.Transparent;
                        txtField.BorderColor              = System.Drawing.Color.LightSteelBlue;
                        txtField.CanBeEmpty               = false;
                        txtField.Caption                  = strFieldText;
                        txtField.Font                     = new System.Drawing.Font("微软雅黑", 9.75F);
                        txtField.LBTitle                  = strFieldText;
                        txtField.LBTitleVisible           = true;
                        txtField.Location                 = new System.Drawing.Point(346, 67);
                        txtField.Margin                   = new System.Windows.Forms.Padding(0);
                        txtField.Name                     = strFieldName;
                        txtField.PopupWidth               = 120;
                        txtField.SelectedItemBackColor    = System.Drawing.SystemColors.Highlight;
                        txtField.SelectedItemForeColor    = System.Drawing.SystemColors.HighlightText;
                        txtField.Size                     = new System.Drawing.Size(201, 28);
                        txtField.Width                    = this.pnlField.Width * 3 / 7;
                        txtField.TextBox.IsAllowNotExists = true;
                        this.pnlField.Controls.Add(txtField);
                    }
                    else if (FieldType == 2)//日期
                    {
                        LBDateTime txtBillDate = new LBDateTime();
                        txtBillDate.TextBox.CustomFormat = "yyyy-MM-dd";
                        txtBillDate.TextBox.Format       = DateTimePickerFormat.Short;
                        txtBillDate.LBTitle        = strFieldText;
                        txtBillDate.LBTitleVisible = true;
                        txtBillDate.Location       = new System.Drawing.Point(107, 195);
                        txtBillDate.MinimumSize    = new System.Drawing.Size(0, 30);
                        txtBillDate.Name           = strFieldName;
                        txtBillDate.Size           = new System.Drawing.Size(135, 30);
                        txtBillDate.Width          = this.pnlField.Width * 3 / 7;
                        this.pnlField.Controls.Add(txtBillDate);
                    }
                }
            }
            catch (Exception ex)
            {
                LB.WinFunction.LBCommonHelper.DealWithErrorMessage(ex);
            }
        }
Esempio n. 2
0
        private void btnView_Click(object sender, EventArgs e)
        {
            try
            {
                if (tvReportType.SelectedNode == null || tvReportType.SelectedNode.Tag == null)
                {
                    return;
                }
                DataRow dr = tvReportType.SelectedNode.Tag as DataRow;
                long    lReportTemplateID = dr["ReportTemplateID"] == DBNull.Value ?
                                            0 : Convert.ToInt64(dr["ReportTemplateID"]);
                long lReportViewID = dr["ReportViewID"] == DBNull.Value ?
                                     0 : Convert.ToInt64(dr["ReportViewID"]);

                if (lReportTemplateID == 0 || lReportViewID == 0)
                {
                    return;
                }

                DataTable dtField = ExecuteSQL.CallView(133, "", "ReportViewID=" + lReportViewID, "");
                DataView  dvField = new DataView(dtField);

                DataTable dtFieldValue = new DataTable("Field");
                dtFieldValue.Columns.Add("FieldName", typeof(string));
                dtFieldValue.Columns.Add("FieldValue", typeof(string));

                foreach (Control ctl in this.pnlField.Controls)
                {
                    string strName  = "";
                    string strValue = "";
                    if (ctl is CoolTextBox)
                    {
                        CoolTextBox txt = ctl as CoolTextBox;
                        strName  = txt.Name;
                        strValue = txt.Text;
                    }
                    else if (ctl is LBDateTime)
                    {
                        LBDateTime txt = ctl as LBDateTime;
                        strName  = txt.Name;
                        strValue = txt.TextBox.Text.ToString();
                    }

                    dvField.RowFilter = "FieldName='" + strName + "'";
                    if (dvField.Count > 0)
                    {
                        DataRow drField = dtFieldValue.NewRow();
                        drField["FieldName"]  = strName;
                        drField["FieldValue"] = strValue;
                        dtFieldValue.Rows.Add(drField);
                    }
                }

                ReportRequestArgs args;
                args = new ReportRequestArgs(lReportTemplateID, 8, null, null);

                DataTable dtSPIN = new DataTable();
                dtSPIN.Columns.Add("ReportViewID", typeof(long));
                dtSPIN.Columns.Add("DTFieldValue", typeof(DataTable));
                DataRow drNew = dtSPIN.NewRow();
                drNew["ReportViewID"] = lReportViewID;
                drNew["DTFieldValue"] = dtFieldValue;
                dtSPIN.Rows.Add(drNew);
                dtSPIN.AcceptChanges();

                DataSet   dsReturn;
                DataTable dtOut;
                ExecuteSQL.CallSP(14407, dtSPIN, out dsReturn, out dtOut);

                DataTable dtSource = null;
                if (dsReturn != null && dsReturn.Tables.Count > 0)
                {
                    dtSource           = dsReturn.Tables[0].Copy();
                    dtSource.TableName = "T008";
                    DataSet dsSource = new DataSet("Report");
                    dsSource.Tables.Add(dtSource);
                    args.DSDataSource     = dsSource;
                    args.ReportTemplateID = lReportTemplateID;

                    FastReport.Report report = ReportHelper.GetReport(args);
                    report.Preview = this.previewControl1;
                    report.Show();
                }
            }
            catch (Exception ex)
            {
                LB.WinFunction.LBCommonHelper.DealWithErrorMessage(ex);
            }
        }