Esempio n. 1
0
        private Control GetCbOrOInputontrolFromMembers(SearchTag stag)
        {
            loading = true;
            try
            {
                //input can be here any time, regardless of childs!
                var input = GetUserInputControl(stag);
                if (input != null)
                {
                    flpReflectionMembers.Controls.Add(input);
                    return(input);
                }

                var list = SearchTagExtractor.ExtractTagsFromAttributes(stag.MyRuntimePropertyValue, stag);
                if (list.Any())
                {
                    var      ordered = (from a in list orderby a.TagName select a).ToList();
                    ComboBox cb      = new ComboBox
                    {
                        DropDownStyle = ComboBoxStyle.DropDownList,
                        FlatStyle     = FlatStyle.Standard
                    };
                    flpReflectionMembers.Controls.Add(cb);
                    cb.DataSource            = ordered;
                    cb.DisplayMember         = "TagName";
                    cb.SelectedValueChanged += (sender, e) =>
                    {
                        var tag     = cb.SelectedItem as SearchTag;
                        var childcb = GetCbOrOInputontrolFromMembers(tag);
                    };
                    return(cb);
                }

                return(null);
            }
            catch (Exception e)
            {
                Log.Warn(e);
            }
            finally
            {
                this.loading = false;
            }

            return(null);
        }
Esempio n. 2
0
        private Control GetCbOrOInputontrolFromMembers(SearchTag stag)
        {
            _loading = true;
            try
            {
                //input can be here any time, regardless of childs!
                var input = GetUserInputControl(stag);
                if (input != null)
                {
                    flpReflectionMembers.Controls.Add(input);
                    return(input);
                }

                List <SearchTag> list = new List <SearchTag>(SearchTagExtractor.ExtractTagsFromAttributes(stag.MyRuntimePropertyValue).OrderBy(x => x.TagName));
                if (list.Count > 0)
                {
                    ComboBox cb = new ComboBox
                    {
                        DropDownStyle = ComboBoxStyle.DropDownList,
                        FlatStyle     = FlatStyle.Standard
                    };
                    flpReflectionMembers.Controls.Add(cb);
                    cb.DataSource            = list;
                    cb.DisplayMember         = "TagName";
                    cb.SelectedValueChanged += (sender, e) =>
                    {
                        var tag     = cb.SelectedItem as SearchTag;
                        var childcb = GetCbOrOInputontrolFromMembers(tag);
                    };
                    return(cb);
                }

                return(null);
            }
            catch (Exception e)
            {
                Log.Warn(e);
            }
            finally
            {
                _loading = false;
            }

            return(null);
        }