示例#1
0
        private void InitField(ABCCommonTreeListNode parentNode, String strTableName, String strFieldName)
        {
            ABCScreen.ABCBindingConfig bindInfo = ((FieldNodeInfo)parentNode.InnerData).Config;
            String strDiplay = DataConfigProvider.GetFieldCaption(strTableName, strFieldName);

            if (strDiplay == strFieldName)
            {
                return;
            }

            FieldNodeInfo fieldInfo = new FieldNodeInfo();

            fieldInfo.Display = strDiplay;
            fieldInfo.Type    = FiledNodeType.Field;
            fieldInfo.Config  = bindInfo;
            if (String.IsNullOrWhiteSpace(((FieldNodeInfo)parentNode.InnerData).FieldName) == false)
            {
                fieldInfo.FieldName = ((FieldNodeInfo)parentNode.InnerData).FieldName + ":";
            }

            fieldInfo.FieldName += strFieldName;
            fieldInfo.TableName  = strTableName;

            ABCCommonTreeListNode node = new ABCCommonTreeListNode(parentNode, fieldInfo);

            InitControls(node);

            if (DataStructureProvider.IsForeignKey(strTableName, strFieldName))
            {
                fieldInfo.Type = FiledNodeType.Foreign;
            }
        }
示例#2
0
        private void InitControl(ABCCommonTreeListNode node, Type ControlType, String strDisplay)
        {
            ABCScreen.ABCBindingConfig bindInfo = ((FieldNodeInfo)node.InnerData).Config;

            FieldNodeInfo fieldInfo = new FieldNodeInfo();

            fieldInfo.Type    = FiledNodeType.Control;
            fieldInfo.Display = strDisplay;
            //fieldInfo.Config=bindInfo;
            //fieldInfo.FieldName=( (FieldNodeInfo)node.InnerData ).FieldName;
            //fieldInfo.TableName=( (FieldNodeInfo)node.InnerData ).TableName;

            if (ControlType == typeof(ABCCheckEdit) || ControlType == typeof(ABCCheckPanel) || ControlType == typeof(ABCRadioGroup) || ControlType == typeof(ABCLabel))
            {
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(ControlType);
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.FieldName = ((FieldNodeInfo)node.InnerData).FieldName;
                fieldInfo.ToolboxItem.Binding.TableName = ((FieldNodeInfo)node.InnerData).Config.TableName;
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
            }
            else if (ControlType == typeof(ABCSearchPanel) || ControlType == typeof(ABCAutoSearchPanel))
            {
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(ControlType);
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.TableName = ((FieldNodeInfo)node.InnerData).Config.TableName;
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
            }
            else if (ControlType == typeof(ABCDataPanel))
            {
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(ControlType);
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.TableName = ((FieldNodeInfo)node.InnerData).Config.TableName;
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
            }
            else
            {
                if (ControlType == typeof(ABCSearchControl))
                {
                    fieldInfo.ToolboxItem = new ABCToolboxItem(typeof(ABCSearchControl));
                }
                else
                {
                    fieldInfo.ToolboxItem = new ABCToolboxItem(typeof(ABCBindingBaseEdit));
                }
                fieldInfo.ToolboxItem.Binding             = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.FieldName   = ((FieldNodeInfo)node.InnerData).FieldName;
                fieldInfo.ToolboxItem.Binding.TableName   = ((FieldNodeInfo)node.InnerData).Config.TableName;
                fieldInfo.ToolboxItem.Binding.BusName     = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.ControlType = ControlType;
            }
            new ABCCommonTreeListNode(node, fieldInfo);
        }
示例#3
0
        private void InitTable(ABCCommonTreeListNode parentNode, ABCScreen.ABCBindingConfig bindInfo)
        {
            if (DataStructureProvider.DataTablesList.ContainsKey(bindInfo.TableName) == false)
            {
                return;
            }

            ABCCommonTreeListNode node      = null;
            FieldNodeInfo         fieldInfo = new FieldNodeInfo();

            fieldInfo.Display = DataConfigProvider.GetTableCaption(bindInfo.TableName) + String.Format(@" ( {0} ) ", bindInfo.Name);
            fieldInfo.Type    = FiledNodeType.List;
            fieldInfo.Config  = bindInfo;
            node = new ABCCommonTreeListNode(parentNode, fieldInfo);

            InitControl(node, typeof(ABCSearchPanel), "SearchPanel");
            InitControl(node, typeof(ABCAutoSearchPanel), "AutoSearchPanel");
            InitControl(node, typeof(ABCDataPanel), "DataPanel");
            if (bindInfo.IsList)
            {
                fieldInfo.Type = FiledNodeType.List;

                #region IsList

                #region Grid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "GridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCGridControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                ABCCommonTreeListNode listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "BandedGridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCGridBandedControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "PivotGridControl";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCPivotGridControl));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion

                #region BandedGrid
                fieldInfo                               = new FieldNodeInfo();
                fieldInfo.Type                          = FiledNodeType.Control;
                fieldInfo.Display                       = "TreeList";
                fieldInfo.ToolboxItem                   = new ABCToolboxItem(typeof(ABCTreeList));
                fieldInfo.ToolboxItem.Binding           = new ABCControls.ABCBindingInfo();
                fieldInfo.ToolboxItem.Binding.BusName   = bindInfo.Name;
                fieldInfo.ToolboxItem.Binding.TableName = bindInfo.TableName;
                listNode = new ABCCommonTreeListNode(node, fieldInfo);
                #endregion
                #endregion
            }
            else
            {
                fieldInfo.Type = FiledNodeType.Table;
            }

            foreach (String strFieldName in DataStructureProvider.DataTablesList[bindInfo.TableName].ColumnsList.Keys)
            {
                InitField(node, bindInfo.TableName, strFieldName);
            }


            foreach (ABCScreen.ABCBindingConfig childInfo in bindInfo.Children.Values)
            {
                InitTable(node, childInfo);
            }
        }