Exemplo n.º 1
0
        private void contextMenuStrip5_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            LibTreeNode        curentNode       = (LibTreeNode)this.treeView1.SelectedNode;
            LibReportContainer currentcontainer = _rpt.Containers.FindFirst("ContainerID", ((LibTreeNode)curentNode.Parent.Parent).NodeId);
            LibReportRow       reportRow        = currentcontainer.ReportRows.FindFirst("RowID", ((LibTreeNode)curentNode.Parent).NodeId);
            LibReportColumn    column           = reportRow.ReportCols.FindFirst("ColumnID", curentNode.NodeId);

            switch (e.ClickedItem.Name)
            {
            case "AddElement":     //添加元素
                if (column.Elements == null)
                {
                    column.Elements = new LibCollection <LibReportElement>();
                }
                AddNodeBindEntityToCtr <LibReportElement, ReportElementProperty>(_elemlst, column.Elements, "ElementID", "ElementNm", "ElementNm", "Element", curentNode, NodeType.ReportElement);
                column.Elements[column.Elements.Count - 1].FontSize = 14;
                break;

            case "DeleteCol":     //删除栅格列
                break;
            }
            UpdateTabPageText();
        }
Exemplo n.º 2
0
        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            LibTreeNode libnode = (LibTreeNode)e.Node;

            if (libnode == null)
            {
                return;
            }
            bool exists = false;

            switch (libnode.NodeType)
            {
            case NodeType.ReportPanel:
                if (this._rptproperty == null)
                {
                    _rptproperty = new ReportSourceProperty();
                    this.splitContainer1.Panel2.Controls.Add(_rptproperty);
                }
                SetPanel2ControlsVisible(_rptproperty);

                _rpt.ReportName = string.IsNullOrEmpty(_rpt.ReportName) ? _funNode.Text : _rpt.ReportName;
                _rpt.Package    = string.IsNullOrEmpty(_rpt.Package) ? _funNode.Package : _rpt.Package;
                //if (ModelDesignProject.ExitsDataSource(_fm.FormId, _fm.Package))
                //{
                //    _fm.DSID = _fm.FormId;
                //}
                _rptproperty.SetPropertyValue(_rpt, libnode);
                break;

            case NodeType.GridGroup:
                if (_gridgrouplst != null)
                {
                    foreach (ReportGridProperty item in _gridgrouplst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportGridProperty gridgroupp = new ReportGridProperty(libnode.NodeId);
                        gridgroupp.Dock = DockStyle.Fill;
                        this._gridgrouplst.Add(gridgroupp);
                        this.splitContainer1.Panel2.Controls.Add(gridgroupp);
                        gridgroupp.SetPropertyValue(_rpt.GridGroups.FindFirst("GridGroupID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(gridgroupp);
                    }
                }
                break;

            case NodeType.GridGroup_Field:
                if (_reportFieldlst != null)
                {
                    foreach (ReportFieldProperty item in _reportFieldlst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportFieldProperty gdgroupfdp = new ReportFieldProperty(libnode.NodeId);
                        gdgroupfdp.Dock = DockStyle.Fill;
                        this._reportFieldlst.Add(gdgroupfdp);
                        this.splitContainer1.Panel2.Controls.Add(gdgroupfdp);
                        LibReportGrid librptgd = _rpt.GridGroups.FindFirst("GridGroupID", ((LibTreeNode)libnode.Parent).NodeId);
                        gdgroupfdp.SetPropertyValue(librptgd.ReportFields.FindFirst("ID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(gdgroupfdp);
                    }
                }
                break;

            case NodeType.ReportContainer:
                if (_containerlst != null)
                {
                    foreach (ReportContainerProperty item in _containerlst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportContainerProperty container = new ReportContainerProperty(libnode.NodeId);
                        container.Dock = DockStyle.Fill;
                        this._containerlst.Add(container);
                        this.splitContainer1.Panel2.Controls.Add(container);
                        container.SetPropertyValue(_rpt.Containers.FindFirst("ContainerID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(container);
                    }
                }
                break;

            case NodeType.ReportRow:
                if (_rowlst != null)
                {
                    foreach (ReportRowProperty item in _rowlst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportRowProperty row = new ReportRowProperty(libnode.NodeId);
                        row.Dock = DockStyle.Fill;
                        this._rowlst.Add(row);
                        this.splitContainer1.Panel2.Controls.Add(row);
                        LibReportContainer container = _rpt.Containers.FindFirst("ContainerID", ((LibTreeNode)libnode.Parent).NodeId);
                        row.SetPropertyValue(container.ReportRows.FindFirst("RowID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(row);
                    }
                }
                break;

            case NodeType.ReportCol:
                if (_collst != null)
                {
                    foreach (ReportColumnProperty item in _collst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportColumnProperty col = new ReportColumnProperty(libnode.NodeId);
                        col.Dock = DockStyle.Fill;
                        this._collst.Add(col);
                        this.splitContainer1.Panel2.Controls.Add(col);
                        LibReportContainer container = _rpt.Containers.FindFirst("ContainerID", ((LibTreeNode)libnode.Parent.Parent).NodeId);
                        LibReportRow       reportRow = container.ReportRows.FindFirst("RowID", ((LibTreeNode)libnode.Parent).NodeId);
                        col.SetPropertyValue(reportRow.ReportCols.FindFirst("ColumnID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(col);
                    }
                }
                break;

            case NodeType.ReportElement:
                if (_elemlst != null)
                {
                    foreach (ReportElementProperty item in _elemlst)
                    {
                        if (string.Compare(item.Name, libnode.NodeId) == 0)
                        {
                            SetPanel2ControlsVisible(item);
                            exists = true;
                            break;
                        }
                    }
                    if (!exists)     //还未创建对应的控件
                    {
                        ReportElementProperty ele = new ReportElementProperty(libnode.NodeId);
                        ele.Dock = DockStyle.Fill;
                        this._elemlst.Add(ele);
                        this.splitContainer1.Panel2.Controls.Add(ele);
                        LibReportContainer container = _rpt.Containers.FindFirst("ContainerID", ((LibTreeNode)libnode.Parent.Parent.Parent).NodeId);
                        LibReportRow       reportRow = container.ReportRows.FindFirst("RowID", ((LibTreeNode)libnode.Parent.Parent).NodeId);
                        LibReportColumn    column    = reportRow.ReportCols.FindFirst("ColumnID", ((LibTreeNode)libnode.Parent).NodeId);
                        ele.SetPropertyValue(column.Elements.FindFirst("ElementID", libnode.NodeId), libnode);

                        SetPanel2ControlsVisible(ele);
                    }
                }
                break;
            }
        }