Ejemplo n.º 1
0
 private void ControlFilterRefresh(DataFilterBaseControl control)
 {
     control.FilterData();
     if (control.DetailControl != null)
     {
         control.DetailControl.ResetFilter();
         control.DetailControl.FillData(control);
     }
 }
Ejemplo n.º 2
0
        private void ControlTypeItem_Click(object sender, EventArgs e)
        {
            DataFilterBaseControl control = Designer.SelectedObjects[0] as DataFilterBaseControl;
            Type controlType = (sender as ToolStripMenuItem).Tag as Type;
            DataFilterBaseControl newControl = Activator.CreateInstance(controlType) as DataFilterBaseControl;

            newControl.Parent          = control.Parent;
            newControl.Location        = control.Location;
            newControl.DataColumn      = control.DataColumn;
            newControl.ReportParameter = control.ReportParameter;

            control.Dispose();
            newControl.CreateUniqueName();

            Designer.SelectedObjects.Clear();
            Designer.SelectedObjects.Add(newControl);
            Designer.SetModified(this, "Insert");
        }
Ejemplo n.º 3
0
        private void AfterDragDrop(Point location)
        {
            DataFilterBaseControl control = Designer.SelectedObjects[0] as DataFilterBaseControl;

            if (control is TextBoxControl)
            {
                // show menu with different control types
                ContextMenuStrip menu = new ContextMenuStrip();
                menu.Renderer = Config.DesignerSettings.ToolStripRenderer;

                Type[] controlTypes = new Type[] {
                    typeof(TextBoxControl), typeof(MaskedTextBoxControl),
                    typeof(ComboBoxControl), typeof(CheckedListBoxControl),
                    typeof(ListBoxControl), typeof(DataSelectorControl)
                };

                foreach (Type controlType in controlTypes)
                {
                    ObjectInfo        info = RegisteredObjects.FindObject(controlType);
                    ToolStripMenuItem item = new ToolStripMenuItem(Res.Get(info.Text), Res.GetImage(info.ImageIndex));
                    menu.Items.Add(item);
                    item.Tag    = controlType;
                    item.Click += new EventHandler(ControlTypeItem_Click);
                }

                menu.Show(this, new Point((int)control.AbsLeft + Offset.X, (int)control.AbsBottom + Offset.Y));
            }
            else
            {
                // look for another controls of same type in a form that bound to the same DataColumn
                // and setup the FilterOperation
                foreach (Base c in Page.AllObjects)
                {
                    if (c != control && c.GetType() == control.GetType() &&
                        (c as DataFilterBaseControl).DataColumn == control.DataColumn)
                    {
                        (c as DataFilterBaseControl).FilterOperation = FilterOperation.GreaterThanOrEqual;
                        control.FilterOperation = FilterOperation.LessThanOrEqual;
                        Designer.SetModified(this, "Change");
                        break;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        protected override void OnDragOver(DragEventArgs drgevent)
        {
            base.OnDragOver(drgevent);
            if (!Designer.cmdInsert.Enabled)
            {
                drgevent.Effect = DragDropEffects.None;
                return;
            }

            if (FMode1 != WorkspaceMode1.DragDrop)
            {
                DictionaryWindow.DraggedItem item = (DictionaryWindow.DraggedItem)drgevent.Data.GetData(
                    typeof(DictionaryWindow.DraggedItem));

                Type dataType = null;
                if (item.Obj is Column)
                {
                    dataType = (item.Obj as Column).DataType;
                }
                else if (item.Obj is Parameter)
                {
                    dataType = (item.Obj as Parameter).DataType;
                }

                // determine type of control to insert
                Type controlType = typeof(NumericUpDownControl);
                if (dataType == typeof(string) || dataType == typeof(char))
                {
                    controlType = typeof(TextBoxControl);
                }
                else if (dataType == typeof(DateTime) || dataType == typeof(TimeSpan))
                {
                    controlType = typeof(DateTimePickerControl);
                }
                else if (dataType == typeof(bool))
                {
                    controlType = typeof(CheckBoxControl);
                }
                else if (dataType == typeof(byte[]))
                {
                    controlType = null;
                }

                if (controlType == null)
                {
                    drgevent.Effect = DragDropEffects.None;
                    return;
                }

                // create label and control
                bool needCreateLabel = controlType != typeof(CheckBoxControl);
                if (needCreateLabel)
                {
                    Designer.InsertObject(new ObjectInfo[] {
                        RegisteredObjects.FindObject(controlType),
                        RegisteredObjects.FindObject(typeof(LabelControl))
                    }, InsertFrom.Dictionary);
                }
                else
                {
                    Designer.InsertObject(RegisteredObjects.FindObject(controlType), InsertFrom.Dictionary);
                }

                // setup control datafiltering
                DataFilterBaseControl control = Designer.SelectedObjects[0] as DataFilterBaseControl;
                control.Top += (16 / Grid.SnapSize) * Grid.SnapSize;
                if (item.Obj is Column)
                {
                    control.DataColumn = item.Text;
                }
                else if (item.Obj is Parameter)
                {
                    control.ReportParameter = item.Text;
                }

                // setup label text
                string labelText = "";
                if (item.Obj is Column)
                {
                    labelText = (item.Obj as Column).Alias;
                }
                else if (item.Obj is Parameter)
                {
                    labelText = (item.Obj as Parameter).Description;
                    if (String.IsNullOrEmpty(labelText))
                    {
                        labelText = (item.Obj as Parameter).Name;
                    }
                }

                if (needCreateLabel)
                {
                    LabelControl label = Designer.SelectedObjects[1] as LabelControl;
                    label.Text = labelText;
                }
                else
                {
                    control.Text = labelText;
                }

                FEventArgs.DragSource = control;
            }

            FMode1 = WorkspaceMode1.DragDrop;
            Point pt = PointToClient(new Point(drgevent.X, drgevent.Y));

            OnMouseMove(new MouseEventArgs(MouseButtons.Left, 0, pt.X, pt.Y, 0));
            drgevent.Effect = drgevent.AllowedEffect;
        }