Example #1
0
        public static JObject getImportBtnItems(CswNbtResources CswNbtResources)
        {
            JObject ImportableNodeTypes = new JObject();

            Collection <CswEnumNbtObjectClass> MaterialPropSetMembers = CswNbtPropertySetMaterial.Members();

            foreach (CswEnumNbtObjectClass ObjectClassName in MaterialPropSetMembers)
            {
                CswNbtMetaDataObjectClass ObjectClass = CswNbtResources.MetaData.getObjectClass(ObjectClassName);
                foreach (CswNbtMetaDataNodeType CurrentNT in ObjectClass.getNodeTypes())
                {
                    CswNbtMetaDataNodeTypeProp IsConstituentNTP = CurrentNT.getNodeTypePropByObjectClassProp(CswNbtPropertySetMaterial.PropertyName.IsConstituent);
                    if (IsConstituentNTP.HasDefaultValue() &&
                        CswEnumTristate.False == IsConstituentNTP.getDefaultValue(false).AsLogical.Checked)
                    {
                        JObject NodeType = new JObject();
                        ImportableNodeTypes[CurrentNT.NodeTypeName] = NodeType;
                        NodeType["nodetypename"] = CurrentNT.NodeTypeName;
                        NodeType["nodetypeid"]   = CurrentNT.NodeTypeId.ToString();
                        NodeType["iconfilename"] = CswNbtMetaDataObjectClass.IconPrefix16 + CurrentNT.IconFileName;
                        NodeType["objclass"]     = ObjectClassName.ToString();
                    }
                }
            }

            return(ImportableNodeTypes);
        }//getImportBtnItems()
Example #2
0
        private void setupGridColumns(DataSet DS, CswNbtView View)
        {
            _Grid.Columns.Clear();

            // Edit column
            GridBoundColumn EditColumn = new GridBoundColumn();

            EditColumn.UniqueName = "EditColumn";
            EditColumn.HeaderText = "Edit";
            EditColumn.DataField  = "Edit";
            EditColumn.Display    = ShowActionColumns;
            _Grid.Columns.Add(EditColumn);

            // Node column
            GridBoundColumn NodeNameColumn = new GridBoundColumn();

            NodeNameColumn.UniqueName = "NodeName";
            NodeNameColumn.HeaderText = "Node Name";
            NodeNameColumn.DataField  = "NodeName";
            // BZ 6704
            NodeNameColumn.Visible = false;
            NodeNameColumn.Display = false;
            _Grid.Columns.Add(NodeNameColumn);

            // NodeKey column
            GridBoundColumn NodeKeyColumn = new GridBoundColumn();

            NodeKeyColumn.UniqueName = "NodeKey";
            NodeKeyColumn.HeaderText = "NodeKey";
            NodeKeyColumn.DataField  = "NodeKey";
            NodeKeyColumn.Display    = false;
            _Grid.Columns.Add(NodeKeyColumn);

            foreach (DataTable Table in DS.Tables)
            {
                foreach (DataColumn Column in Table.Columns)
                {
                    string ColumnName = Column.ColumnName;
                    if (ColumnName.Length > PropColumnPrefix.Length && ColumnName.Substring(0, PropColumnPrefix.Length) == PropColumnPrefix)
                    {
                        string NoPrefixColumnName = ColumnName.Substring(PropColumnPrefix.Length);
                        //Int32 CurrentNodeTypePropId = CswConvert.ToInt32( NoPrefixColumnName.Substring( 0, NoPrefixColumnName.IndexOf( '_' ) ) );
                        string RealColumnName = CswTools.XmlRealAttributeName(NoPrefixColumnName);   //.Substring( NoPrefixColumnName.IndexOf( '_' ) + 1 ) );
                        //CswNbtMetaDataNodeTypeProp CurrentNodeTypeProp = _CswNbtResources.MetaData.getNodeTypeProp( CurrentNodeTypePropId );
                        //CswNbtViewProperty CurrentViewProp = View.FindPropertyById( CswNbtPropType.NodeTypePropId, CurrentNodeTypePropId );
                        CswNbtViewProperty CurrentViewProp = View.findPropertyByName(RealColumnName);
                        //if( CurrentViewProp == null )
                        //    CurrentViewProp = View.FindPropertyByName( CurrentNodeTypeProp.PropName );
                        CswEnumNbtFieldType ColFieldType = CswNbtResources.UnknownEnum;
                        if (CurrentViewProp != null)
                        {
                            if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.NodeTypeId)
                            {
                                CswNbtMetaDataNodeType     CurrentNT  = _CswNbtResources.MetaData.getNodeType(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId);
                                CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName);
                                if (CurrentNTP != null)
                                {
                                    ColFieldType = CurrentNTP.getFieldTypeValue();
                                }
                            }
                            else if (((CswNbtViewRelationship)CurrentViewProp.Parent).SecondType == CswEnumNbtViewRelatedIdType.ObjectClassId)
                            {
                                CswNbtMetaDataObjectClass CurrentOC = _CswNbtResources.MetaData.getObjectClass(((CswNbtViewRelationship)CurrentViewProp.Parent).SecondId);
                                foreach (CswNbtMetaDataNodeType CurrentNT in CurrentOC.getNodeTypes())
                                {
                                    CswNbtMetaDataNodeTypeProp CurrentNTP = CurrentNT.getNodeTypeProp(RealColumnName);
                                    if (CurrentNTP != null)
                                    {
                                        ColFieldType = CurrentNTP.getFieldTypeValue();
                                    }
                                }
                            }
                        }

                        GridBoundColumn thisColumn = null;
                        //switch( CurrentNodeTypeProp.FieldType.FieldType )
                        switch (ColFieldType)
                        {
                        case CswEnumNbtFieldType.DateTime:
                            thisColumn = new GridDateTimeColumn();
                            thisColumn.DataFormatString = "{0:M/d/yyyy}";
                            thisColumn.DataType         = typeof(DateTime);
                            break;

                        //case CswEnumNbtFieldType.Time:
                        //    thisColumn = new GridDateTimeColumn();
                        //    thisColumn.DataFormatString = "{0:H:mm:ss}";
                        //    thisColumn.DataType = typeof( DateTime );
                        //    break;
                        default:
                            thisColumn = new GridBoundColumn();
                            break;
                        }
                        thisColumn.UniqueName = ColumnName;
                        thisColumn.HeaderText = RealColumnName;
                        thisColumn.DataField  = ColumnName;
                        if (CurrentViewProp != null && CurrentViewProp.Width != Int32.MinValue)
                        {
                            thisColumn.HeaderStyle.Width = Unit.Parse((CswConvert.ToInt32(CurrentViewProp.Width * 7)).ToString() + "px");        // average pixel width per character
                        }
                        //thisColumn.OrderIndex = CurrentViewProp.Order;
                        //Telerik.Web.UI.GridTableView GTV = new GridTableView( _Grid );
                        if (CurrentViewProp != null && CurrentViewProp.Order > 0 && _Grid.Columns.Count >= CurrentViewProp.Order)
                        {
                            _Grid.Columns.AddAt(CurrentViewProp.Order, thisColumn);
                        }
                        else
                        {
                            _Grid.Columns.Add(thisColumn);
                        }
                    }
                }
            }

            // Delete column
            GridBoundColumn DeleteColumn = new GridBoundColumn();

            DeleteColumn.UniqueName = "DeleteColumn";
            DeleteColumn.HeaderText = "Delete";
            DeleteColumn.DataField  = "Delete";
            DeleteColumn.Display    = ShowActionColumns;
            _Grid.Columns.Add(DeleteColumn);
        } // setupGridColumns()