Beispiel #1
0
        public static void ShowValue(object value)
        {
            if (value == null)
            {
                return;
            }

            if (value is DataSet || value is DataTable)
            {
                Panel p = new Panel();

                ComboBox cm = new ComboBox()
                {
                    DropDownStyle = ComboBoxStyle.DropDownList,
                    Dock          = DockStyle.Top
                };

                if (value is DataSet)
                {
                    foreach (DataTable dt in ((DataSet)value).Tables)
                    {
                        cm.Items.Add(dt);
                    }
                }
                else
                {
                    cm.Items.Add(value);
                }

                cm.SelectedIndex = 0;

                DataGridView grid = new DataGridView();
                grid.Dock = DockStyle.Fill;
                grid.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders;
                grid.DataSource      = cm.SelectedItem;
                grid.ShowRowErrors   = true;
                grid.ShowEditingIcon = true;
                grid.ShowCellErrors  = true;

                cm.SelectedIndexChanged += (a, b) => { grid.DataSource = (DataTable)cm.SelectedItem; };

                p.Controls.Add(grid);
                p.Controls.Add(cm);

                FOkCancel.ShowForm("Debug", p);
            }
            else
            {
                FEditObjectProperties.ShowForm("Debug", value);
            }
        }
        protected override IData OnProcessData(IData data, EEnumerableDataState state)
        {
            object o = data.GetInternalObject();

            if (o == null)
            {
                return(null);
            }

            if (!FEditObjectProperties.ShowForm(FormTitle, o))
            {
                return(null);
            }

            return(data);
        }