public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     try
     {
         if (((provider != null) && (context != null)) && (context.Instance != null))
         {
             FilterControl filter;
             FilterColumnCollectionDialog.ListBoxItem instance = context.Instance as FilterColumnCollectionDialog.ListBoxItem;
             if (instance != null)
             {
                 filter = instance.FilterColumn.FilterControl;
             }
             else
             {
                 FilterColumn column = context.Instance as FilterColumn;
                 if (column != null)
                 {
                     filter = column.FilterControl;
                 }
                 else
                 {
                     filter = null;
                 }
             }
             if (filter == null)
             {
                 return value;
             }
             object dataSource = filter.DataSource;
             string dataMember = filter.DataMember;
             string str2 = (string)value;
             string str3 = dataMember + "." + str2;
             if (dataSource == null)
             {
                 dataMember = string.Empty;
                 str3 = str2;
             }
             if (this.designBindingPicker == null)
             {
                 this.designBindingPicker = new DesignBindingPicker();
             }
             DesignBinding initialSelectedItem = new DesignBinding(dataSource, str3);
             DesignBinding binding2 = this.designBindingPicker.Pick(context, provider, false, true, false, dataSource, dataMember, initialSelectedItem);
             if ((dataSource != null) && (binding2 != null))
             {
                 value = binding2.DataField;
             }
         }
         return value;
     }
     catch (Exception exc)
     {
         MessageBox.Show(exc.ToString());
         throw;
     }
 }
 public ProjectNode(DesignBindingPicker picker)
     : base(picker, "DesignBindingPickerNodeProject", DesignBindingPicker.BindingPickerNode.BindingImage.Project)
 {
 }
 public ProjectDataSourceNode(DesignBindingPicker picker, object dataSource, string nodeName, Image image)
     : base(picker, dataSource, nodeName)
 {
     if (image != null)
     {
         base.CustomBindingImage = image;
     }
 }
 public ProjectGroupNode(DesignBindingPicker picker, string nodeName, Image image)
     : base(picker, nodeName, DesignBindingPicker.BindingPickerNode.BindingImage.Project)
 {
     if (image != null)
     {
         base.CustomBindingImage = image;
     }
 }
 public ProjectDataMemberNode(DesignBindingPicker picker, object dataSource, string dataMember, string dataField, bool isList)
     : base(picker, dataSource, dataMember, dataField, isList)
 {
 }
 public DataSourceNode(DesignBindingPicker picker, object dataSource, string nodeName)
     : base(picker, nodeName)
 {
     this.dataSource = dataSource;
     base.BindingImageIndex = (int)DesignBindingPicker.BindingPickerNode.BindingImageIndexForDataSource(dataSource);
 }
 public DataMemberNode(DesignBindingPicker picker, object dataSource, string dataMember, string dataField, bool isList)
     : base(picker, dataSource, dataField)
 {
     this.dataMember = dataMember;
     this.isList = isList;
     base.BindingImageIndex = isList ? 5 : 6;
 }
 public BindingPickerNode(DesignBindingPicker picker, string nodeName, BindingImage index)
     : base(nodeName)
 {
     this.picker = picker;
     this.BindingImageIndex = (int)index;
 }
 public BindingPickerNode(DesignBindingPicker picker, string nodeName)
     : base(nodeName)
 {
     this.picker = picker;
 }