コード例 #1
0
        /// <summary>
        /// 重建参数视图
        /// </summary>
        private void RecreateTableView(AccordionControlElementCollection elements
                                       , ReportTableView parentTableView
                                       , IEnumerable <ReportTableController> tables)
        {
            if (parentTableView != null)
            {
                parentTableView.ChildTableViews = new List <Views.ReportTableView>();
            }
            foreach (var reportDataTable in tables)
            {
                ExtendAddonPublic.GetAddonExtendProperties(reportDataTable);

                var elementTableView = new AccordionControlElement();
                elementTableView.Name     = reportDataTable.ID;
                elementTableView.Style    = ElementStyle.Group;
                elementTableView.Expanded = true;
                elementTableView.Text     = String.Format("{0}({1})", reportDataTable.Caption, reportDataTable.TableName);
                elements.Add(elementTableView);


                var reportTableView = reportDataTable.CreateView() as ReportTableView;
                reportTableView.Dock         = DockStyle.Top;
                reportTableView.AutoSize     = true;
                reportTableView.RowCount     = 0;
                reportTableView.BorderStyle  = BorderStyle.FixedSingle;
                reportTableView.DataFetched += ReportTableView_DataFetched;
                reportTableView.DataRequery += ReportTableView_DataRequery;

                var elementParameterView = new AccordionControlElement();
                elementParameterView.Name     = reportDataTable.ID;
                elementParameterView.Style    = ElementStyle.Item;
                elementParameterView.Expanded = true;
                elementParameterView.Text     = "查询";
                var container = new AccordionContentContainer();
                container.Controls.Add(reportTableView);
                container.Height = reportTableView.Height;
                elementParameterView.ContentContainer = container;
                reportTableView.SizeChanged          += (sender, e) => {
                    container.Height = reportTableView.Height;
                };
                TableControls.Add(reportDataTable.TableName, reportTableView);
                elementTableView.Elements.Add(elementParameterView);
                if (parentTableView != null)
                {
                    parentTableView.ChildTableViews.Add(reportTableView);
                }

                if (reportDataTable.ChildTables.IsNotNullOrEmpty())
                {
                    RecreateTableView(elementTableView.Elements, reportTableView, reportDataTable.ChildTables);
                }
            }
        }
コード例 #2
0
 static void UpdateAccordionControlHeight(AccordionControlElementCollection elems)
 {
     foreach (AccordionControlElement elem in elems)
     {
         if (elem.Style == ElementStyle.Item)
         {
             UpdateAccordionControlHeight(elem);
         }
         else
         {
             UpdateAccordionControlHeight(elem.Elements);
         }
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AccordionControlElementCollectionUIAdapter"/> class.
 /// </summary>
 /// <param name="navBarGroup"></param>
 public AccordionControlElementCollectionUIAdapter(AccordionControlElementCollection navBarGroup)
 {
     itemCollection = navBarGroup;
     // Do nothing (except chain constructor)
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AccordionControlGroupCollectionUIAdapter"/> class.
 /// </summary>
 /// <param name="collection"></param>
 public AccordionControlGroupCollectionUIAdapter(AccordionControlElementCollection collection)
 {
     Guard.ArgumentNotNull(collection, "AccordionControlElementCollection");
     navGroupCollection = collection;
 }