Example #1
0
        /// <summary>
        /// 下移动当前项
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Event_Down_ItemClick(object sender, ItemClickEventArgs e)
        {
            //只能同级移动(交换两个排序规则)
            TreeListNode curr = this.m_TreeListFocused.Selection[0];

            if (curr == null)
            {
                return;
            }
            TreeListNode next = curr.NextNode;

            if (next == null)
            {
                return;
            }
            if (curr.Level != next.Level)
            {
                return;
            }
            _ObjectReport p_ObjectReport = this.m_TreeListFocused.GetDataRecordByNode(curr) as _ObjectReport;

            if (p_ObjectReport == null || p_ObjectReport.GetType() == typeof(NodeReport))
            {
                return;
            }
            _ObjectReport objMove = this.m_TreeListFocused.GetDataRecordByNode(next) as _ObjectReport;
            bool          b       = next.Expanded;
            bool          b1      = curr.Expanded;

            this.Exchange(p_ObjectReport, objMove);
            this.m_TreeListFocused.FocusedNode          = this.m_TreeListFocused.FindNodeByKeyID(p_ObjectReport.ID);
            this.m_TreeListFocused.FocusedNode.Expanded = b1;
            this.m_TreeListFocused.FindNodeByKeyID(objMove.ID).Expanded = b;
        }
Example #2
0
        /// <summary>
        /// 报表列表切换行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treeList_FocusedNodeChanged(object sender, FocusedNodeChangedEventArgs e)
        {
            TreeListEx m_TreeList = sender as TreeListEx;

            if (m_TreeList != null)
            {
                _ObjectReport bs = m_TreeList.GetDataRecordByNode(m_TreeList.FocusedNode) as _ObjectReport;
                if (bs != null)
                {
                    if (bs.GetType().Name == "NodeReport")
                    {
                        this.reportControl1.pictureEdit1.Visible   = true;
                        this.propertyGridControl1.AutoGenerateRows = true;
                        this.propertyGridControl1.SelectedObject   = null;
                        this.reportControl1.printControl1.PrintingSystem.ClearContent();
                    }
                    else
                    {
                        this.reportControl1.pictureEdit1.Visible   = false;
                        this.propertyGridControl1.AutoGenerateRows = true;
                        this.propertyGridControl1.SelectedObject   = bs;
                        this.reportControl1.SetDataSource(new GenerateReport(this.propertyGridControl1.SelectedObject as _ObjectReport));
                        this.reportControl1.m_reportData = this.propertyGridControl1.SelectedObject;
                    }
                }
            }
        }
Example #3
0
        /// <summary>
        /// 对象交换位置
        /// </summary>
        /// <param name="p_obj">源对象</param>
        /// <param name="p_objMove">交换位置对象</param>
        private void Exchange(_ObjectReport p_obj, _ObjectReport p_objMove)
        {
            int sort = p_obj.ID;

            p_obj.ID     = p_objMove.ID;
            p_objMove.ID = sort;
            Refreshs();
        }
Example #4
0
 /// <summary>
 /// 递归批量预览
 /// </summary>
 /// <param name="p_TreeList"></param>
 /// <param name="p_nodes"></param>
 private void TreeListChecked(TreeListEx p_TreeList, TreeListNodes p_nodes)
 {
     foreach (TreeListNode item in p_nodes)
     {
         if (item.Checked)
         {
             _ObjectReport m_ob = p_TreeList.GetDataRecordByNode(item) as _ObjectReport;
             if (m_ob.GetType() != typeof(NodeReport))
             {
                 this.reportControl1.SetDataSources(new GenerateReport(m_ob));
                 this.reportControl1.m_reportData = this.propertyGridControl1.SelectedObject;
             }
         }
         this.TreeListChecked(p_TreeList, item.Nodes);
     }
 }
Example #5
0
        /// <summary>
        /// 初始化报表
        /// </summary>
        /// <param name="p_info">报表格式对象</param>
        public GenerateReport(_ObjectReport p_info)
        {
            this.ReportUnit = ReportUnit.TenthsOfAMillimeter; //使用0.1毫米计量单位
            this.Dpi        = 254F;
            this.Bands.Clear();
            if (p_info != null)
            {
                switch (p_info.GetType().Name)
                {
                case "TableReport":
                    TableReport m_info = p_info as TableReport;
                    this.DataSource = m_info.DataSource;
                    this.Margins    = m_info.Margins;
                    this.PaperKind  = m_info.PaperKind;
                    this.Landscape  = this.IsDirection(m_info.Landscape);
                    DetailBand     new_Detail         = CreateTableDetail(m_info);
                    PageHeaderBand new_PageHeaderBand = CreateTableHeader(m_info);
                    this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { new_PageHeaderBand, new_Detail });
                    break;

                case "PageReport":
                    PageReport m_pinfo = p_info as PageReport;
                    this.Margins   = m_pinfo.Margins;
                    this.PaperKind = m_pinfo.PaperKind;
                    this.Landscape = this.IsDirection(m_pinfo.Landscape);
                    DetailBand new_pDetail = this.CreateRowDetail(m_pinfo);
                    this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { new_pDetail });
                    break;

                case "ExplainReport":
                    ExplainReport m_ExplainReport = p_info as ExplainReport;
                    this.Margins    = m_ExplainReport.Margins;
                    this.PaperKind  = m_ExplainReport.PaperKind;
                    this.DataSource = null;
                    this.Landscape  = this.IsDirection(m_ExplainReport.Landscape);
                    DetailBand     new_EDetail = this.CreateRowDetail(m_ExplainReport);
                    PageHeaderBand new_ExplainPageHeaderBand = CreateTitleHeader(m_ExplainReport);
                    this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] { new_ExplainPageHeaderBand, new_EDetail });
                    break;

                default:
                    break;
                }
            }
        }
Example #6
0
        /// <summary>
        /// 单位工程填空报表
        /// </summary>
        /// <param name="p_ObjectReport"></param>
        private void TKBB_UnitProject(_ObjectReport p_ObjectReport)
        {
            DataRow dr_TKBB = null;

            if (this.ReportSource.Tables.Contains("TKBB"))
            {
                DataTable dt = this.ReportSource.Tables["TKBB"] as DataTable;
                if (dt != null && dt.Rows.Count == 1)
                {
                    dr_TKBB = dt.Rows[0];
                }
            }
            if (dr_TKBB == null)
            {
                return;
            }
            if (dr_TKBB != null && p_ObjectReport.Method.Equals("TKBB"))
            {
                DataTable dt = p_ObjectReport.DataSource as DataTable;
                if (dt != null && dt.Rows.Count == 1)
                {
                    dt.Rows[0]["BZDW"]     = dr_TKBB["BZDW"];
                    dt.Rows[0]["FDHSQRBZ"] = dr_TKBB["FDHSQRBZ"];
                    dt.Rows[0]["JSDW"]     = dr_TKBB["JSDW"];
                    dt.Rows[0]["FDHSQRJS"] = dr_TKBB["FDHSQRJS"];
                    dt.Rows[0]["ZBDLR"]    = dr_TKBB["ZBDLR"];
                    dt.Rows[0]["FDHSQRZB"] = dr_TKBB["FDHSQRZB"];
                    dt.Rows[0]["TBDW"]     = dr_TKBB["TBDW"];
                    dt.Rows[0]["FDHSQRTB"] = dr_TKBB["FDHSQRTB"];
                    dt.Rows[0]["TBBZR"]    = dr_TKBB["TBBZR"];
                    dt.Rows[0]["TBBZRQY"]  = dr_TKBB["TBBZRQY"];
                    dt.Rows[0]["TBBZRQM"]  = dr_TKBB["TBBZRQM"];
                    dt.Rows[0]["TBBZRQD"]  = dr_TKBB["TBBZRQD"];
                }
            }
        }
Example #7
0
        /// <summary>
        /// 绑定报表数据
        /// </summary>
        /// <returns></returns>
        public override ArrayList BindingSource()
        {
            if (this.ReportStencil.Count > 0)
            {
                this.LoadReportSource();
                this.ReportResult = new ArrayList();
                NodeReport newxm = new NodeReport();
                int        i     = 1;
                newxm.ID         = i++;
                newxm.PID        = -1;
                newxm.ReportName = this.StructSource.ModelProject.Rows[0]["Name"].ToString();
                this.ReportResult.Add(newxm);
                _ObjectReport[] m_ObjectReport = this.ReportStencil.Cast <_ObjectReport>().Where(p => p.ReportType == "项目报表").ToArray();
                foreach (_ObjectReport item in m_ObjectReport)
                {
                    item.ID   = i++;
                    item.PID  = 1;
                    item.XMMC = this.StructSource.ModelProject.Rows[0]["Name"].ToString();
                    DataTable dt = this.ReportSource.Tables[item.Method];
                    if (dt != null)
                    {
                        item.DataSource = dt;
                    }
                    this.ReportResult.Add(item);
                }

                DataRow[]          drs = this.StructSource.ModelProject.Select("DEEP=2", "ID");
                _UnitProjectReport m_UnitProjectReport = null;
                foreach (DataRow item in drs)
                {
                    _UnitProject info = item["UnitProject"] as _UnitProject;
                    if (info == null)
                    {
                        info = new _UnitProject();
                        _ObjectSource.GetObject(info, item);
                        this.CurrBusiness.Load(info);
                    }
                    m_UnitProjectReport               = new _UnitProjectReport();
                    m_UnitProjectReport.UnID          = info.ActiviteId != 0 ? info.ActiviteId : info.ID;//Convert.ToInt32(item["ID"]);
                    m_UnitProjectReport.StructSource  = info.StructSource;
                    m_UnitProjectReport.ReportStencil = this.ReportStencil.Copy() as _List;
                    m_UnitProjectReport.BindingSource();
                    if (m_UnitProjectReport.ReportResult != null)
                    {
                        _ObjectReport m_dw = m_UnitProjectReport.ReportResult.Cast <_ObjectReport>().Where(p => p is NodeReport).FirstOrDefault();
                        if (m_dw != null)
                        {
                            m_dw.ID  = i++;
                            m_dw.PID = 1;
                            this.ReportResult.Add(m_dw);
                            foreach (_ObjectReport item_dw in m_UnitProjectReport.ReportResult)
                            {
                                this.TKBB_UnitProject(item_dw);
                                if (!(item_dw is NodeReport))
                                {
                                    item_dw.ID  = i++;
                                    item_dw.PID = m_dw.ID;
                                    this.ReportResult.Add(item_dw);
                                }
                            }
                        }
                    }
                }
            }
            return(this.ReportResult);
        }