private void LoadCustomFields() { if (this._customFieldDesigners == null) { this._customFieldDesigners = DataControlFieldHelper.GetCustomFieldDesigners(this, this.Control); } IDataSourceFieldSchema[] fieldSchemas = this.GetFieldSchemas(); bool flag = (fieldSchemas != null) && (fieldSchemas.Length > 0); foreach (KeyValuePair<System.Type, DataControlFieldDesigner> pair in this._customFieldDesigners) { DataControlFieldDesigner fieldDesigner = pair.Value; if (fieldDesigner.UsesSchema && flag) { DataSourceNode node = new DataSourceNode(pair.Key.Name); this._availableFieldsTree.Nodes.Add(node); foreach (IDataSourceFieldSchema schema in fieldSchemas) { node.Nodes.Add(new DataControlFieldDesignerNode(fieldDesigner, schema)); } node.Expand(); } else { this._availableFieldsTree.Nodes.Add(new DataControlFieldDesignerNode(fieldDesigner)); } } }