Esempio n. 1
0
        //准备报表数据
        private void PrepareReport()
        {
            //取报表数据
            DataSet ds = new bllSO().GetReportData(txtNoFrom.Text, txtNoTo.Text, txtDateFrom.DateTime, txtDateTo.DateTime);

            //报表实例
            _report = new TfrxReportClass();
            _report.OnBeforePrint += new IfrxReportEventDispatcher_OnBeforePrintEventHandler(Report_OnBeforePrint);
            _report.OnAfterPrint  += new IfrxReportEventDispatcher_OnAfterPrintEventHandler(Report_OnAfterPrint);

            ds.Tables[0].TableName = "M";                      //Master 主表
            ds.Tables[1].TableName = "D";                      //Detail 明细
            dtSummary    = new FrxDataTable(ds.Tables[0]);     //创建主表的报表代理数据
            dtDetailView = new FrxDataView(ds.Tables[1], "D"); //创建明细表的报表代理数据

            //主从表数据需要绑定3个事件, 取主表的主键用于过滤明细数据
            dtSummary.FrxEventOnFirst += new FrxOnFirst(OnGetValueHandler); //对应Delphi的DataSet.First
            dtSummary.FrxEventOnNext  += new FrxOnNext(OnGetValueHandler);  //对应Delphi的DataSet.Next
            dtSummary.FrxEventOnPrior += new FrxOnPrior(OnGetValueHandler); //对应Delphi的DataSet.Prior

            _report.MainWindowHandle = (int)this.Handle;
            _report.LoadReportFromFile(GetReportFile("SO.fr3")); //从文件加载报表
            _report.ClearDatasets();

            dtSummary.AssignToReport(true, _report);               //绑定报表数据集
            dtDetailView.AssignToReport(true, _report);            //绑定报表数据集

            dtSummary.AssignToDataBand("MasterData1", _report);    //绑定主表Band
            dtDetailView.AssignToDataBand("DetailData1", _report); //绑定明细表Bank
        }
Esempio n. 2
0
        private void InitializeReport()
        {
            //打印主从表数据
            string file = Application.StartupPath + @"\Reports\rptSO.frx";

            rptSO.Load(file);//加载报表模板文件

            DataSet ds = new bllSO().GetReportData(txtNoFrom.Text, txtNoTo.Text, txtDateFrom.DateTime, txtDateTo.DateTime);

            ds.Tables[0].TableName = "M";          //换个短的别名
            ds.Tables[1].TableName = "D";          //换个短的别名

            rptSO.RegisterData(ds.Tables[0], "M"); //注册数据源,主表
            rptSO.RegisterData(ds.Tables[1], "D"); //注册数据源,从表

            //给DataBand(主表数据)绑定数据源
            DataBand masterBand = rptSO.FindObject("Data1") as DataBand;

            masterBand.DataSource = rptSO.GetDataSource("M"); //主表

            //给DataBand(明细数据)绑定数据源
            DataBand detailBand = rptSO.FindObject("Data2") as DataBand;

            detailBand.DataSource = rptSO.GetDataSource("D"); //明细表

            //重要!!给明细表设置主外键关系!
            detailBand.Relation = new Relation();
            detailBand.Relation.ParentColumns    = new string[] { "SONO" };
            detailBand.Relation.ParentDataSource = rptSO.GetDataSource("M"); //主表
            detailBand.Relation.ChildColumns     = new string[] { "SONO" };
            detailBand.Relation.ChildDataSource  = rptSO.GetDataSource("D"); //明细表

            (rptSO.FindObject("Text52") as RichObject).Text = Loginer.CurrentUser.AccountName;
        }
Esempio n. 3
0
 private void frmSale_Load(object sender, EventArgs e)
 {
     timer1.Start();
     Library.DataBinderTools.Bound.BoundCategory(lue_Category, false);
     bll                  = new bllSO();
     bllpi                = new bllProductInventory();
     EditData             = bll.DoGetDocData("");
     gcSummary.DataSource = EditData.Tables[tb_SODetail._TableName];
 }
Esempio n. 4
0
        protected override XtraReport DoPrepareReport()
        {
            rptSO mReport = new rptSO(); //报表实例

            //取报表数据
            DataSet ds = new bllSO().GetReportData(txtNoFrom.Text, txtNoTo.Text, txtDateFrom.DateTime, txtDateTo.DateTime);

            mReport.SetReportDataSource(ds);//绑定报表的数据源

            return(mReport);
        }
Esempio n. 5
0
        /// <summary>
        /// 初始化窗体///
        /// </summary>
        protected override void InitializeForm()
        {
            _BLL                = new bllSO();// 业务逻辑管理类
            _SummaryView        = new DevGridView(gvSummary);
            _ActiveEditor       = txtSONO;
            _DetailGroupControl = panelControl1;

            base.InitializeForm(); //这行代码放到初始化变量后最好

            frmGridCustomize.RegisterGrid(gvSummary);
            DevStyle.SetGridControlLayout(gcSummary, false); //表格设置
            DevStyle.SetGridControlLayout(gcDetail, true);   //表格设置
            DevStyle.SetSummaryGridViewLayout(gvSummary);
            DevStyle.SetDetailGridViewLayout(gvDetail);

            BindingSummaryNavigator(controlNavigatorSummary, gcSummary); //Summary导航条.
            BindingSummarySearchPanel(btnQuery, btnEmpty, gcFindGroup);

            gcDetail.EmbeddedNavigator.ButtonClick += new NavigatorButtonClickEventHandler(this.OnEmbeddedNavigatorButtonClick); //表格按钮事件
            gvDetail.CellValueChanged += new DevExpress.XtraGrid.Views.Base.CellValueChangedEventHandler(OnCellValueChanged);    //表格值改变
            gvSummary.DoubleClick     += new EventHandler(OnGridViewDoubleClick);                                                //主表DoubleClict

            txt_DocDateTo.DateTime        = DateTime.Today;                                                                      //查询条件
            ucAttachment1.StorateStrategy = new AttachmentStorage_SQL();                                                         //附件存储策略
            ucAttachment1.ImmediatelyPost = false;

            DataBinder.BindingLookupEditDataSource(txtCreatedBy, DataDictCache.Cache.User, "UserName", "Account");
            DataBinder.BindingLookupEditDataSource(txtAppUser, DataDictCache.Cache.User, "UserName", "Account");
            DataBinder.BindingLookupEditDataSource(txtSalesman, DataDictCache.Cache.Person, "SalesName", "SalesCode");
            DataBinder.BindingLookupEditDataSource(txtPayType, DataDictCache.Cache.PayType, "TypeName", "PayType");
            DataBinder.BindingLookupEditDataSource(txtCurrency, DataDictCache.Cache.Currency, "CurrencyName", "Currency");

            (colD_StockCode.ColumnEdit as RepositoryItemButtonEdit).ButtonClick += new ButtonPressedEventHandler(OnStockCode_ButtonClick);
            (colD_StockCode.ColumnEdit as RepositoryItemButtonEdit).Validating  += new CancelEventHandler(OnStockCode_Validating);

            _BLL.GetBusinessByKey("-", true); //加载一个空的业务对象.

            ShowSummaryPage(true);            //一切初始化完毕后显示SummaryPage
        }