Beispiel #1
0
        public void InitFilter()
        {
            int left = 20;
            int top  = 15;

            foreach (FilterInfo f in FilterInfos)
            {
                switch (f.controltype)
                {
                case "dropdown":
                    GDropDown controldrop = new GDropDown();
                    controldrop.Caption  = f.caption;
                    controldrop.Location = new Point(left, top);
                    controldrop.Name     = "dropdown_" + f.fieldname;
                    controldrop.Width    = 200;
                    if (f.SearchForm != null)
                    {
                        controldrop.CustomerDropDownForm = f.SearchForm;
                    }
                    G.Controls.Base.Initialize.InitDropDown(controldrop, f.controldata, f.searchLogic, true);
                    if (!f.defaultvalue.IsNullOrEmpty())
                    {
                        controldrop.SetValue(f.defaultvalue);
                    }
                    this.tabPage1.Controls.Add(controldrop);
                    top      += controldrop.Height + 10;
                    f.control = controldrop.Name;
                    break;

                case "combox":
                    GCombo2 controlcombox = new GCombo2();
                    controlcombox.Caption  = f.caption;
                    controlcombox.Data     = f.controldata;
                    controlcombox.Name     = "combox_" + f.fieldname;
                    controlcombox.Location = new Point(left, top);
                    controlcombox.Width    = 200;
                    if (!f.defaultvalue.IsNullOrEmpty())
                    {
                        controlcombox.SetValue(f.defaultvalue);
                    }
                    this.tabPage1.Controls.Add(controlcombox);
                    top      += controlcombox.Height + 10;
                    f.control = controlcombox.Name;
                    break;

                case "checkbox":
                    GCheckBox controlcheckbox = new GCheckBox();
                    controlcheckbox.Caption  = f.caption;
                    controlcheckbox.Name     = "checkbox_" + f.fieldname;
                    controlcheckbox.Location = new Point(left, top);
                    controlcheckbox.Width    = 200;
                    if (!f.defaultvalue.IsNullOrEmpty())
                    {
                        controlcheckbox.SetValue(f.defaultvalue);
                    }
                    this.tabPage1.Controls.Add(controlcheckbox);
                    top      += controlcheckbox.Height + 10;
                    f.control = controlcheckbox.Name;
                    break;

                case "date":
                case "datetime":
                    GDate controldate = new GDate();
                    controldate.Caption = f.caption;
                    controldate.Name    = "date_" + f.fieldname;
                    DefaultDate(f);
                    controldate.Width    = 200;
                    controldate.Location = new Point(left, top);
                    if (!f.defaultvalue.IsNullOrEmpty())
                    {
                        controldate.SetValue(f.defaultvalue);
                    }

                    this.tabPage1.Controls.Add(controldate);
                    f.control = controldate.Name;
                    if (f.isdouble)
                    {
                        GDate controldate2 = new GDate();
                        controldate2.Caption  = "一一";
                        controldate2.Name     = "date2_" + f.fieldname;
                        controldate2.Location = new Point(left + controldate.Width + 20, top);
                        if (!f.defaultvalue2.IsNullOrEmpty())
                        {
                            controldate2.SetValue(f.defaultvalue2);
                        }

                        this.tabPage1.Controls.Add(controldate2);
                        f.control2 = controldate2.Name;
                    }
                    top += controldate.Height + 10;
                    break;

                default:
                    GText controltext = new GText();
                    controltext.Caption  = f.caption;
                    controltext.Name     = "text_" + f.fieldname;
                    controltext.Location = new Point(left, top);
                    controltext.Width    = 200;
                    if (!f.defaultvalue.IsNullOrEmpty())
                    {
                        controltext.SetValue(f.defaultvalue);
                    }
                    this.tabPage1.Controls.Add(controltext);
                    top      += controltext.Height + 10;
                    f.control = controltext.Name;
                    break;
                }
            }
        }
Beispiel #2
0
        public Condition GetCondition()
        {
            Condition c = DefaultCondition;

            foreach (FilterInfo f in FilterInfos)
            {
                string v = "", v2 = "";
                switch (f.controltype)
                {
                case "dropdown":
                    GDropDown cd = this.tabPage1.Controls[f.control] as GDropDown;
                    v = G.Core.GConvert.ToString(cd.GetValue());
                    if (!v.IsNullOrEmpty())
                    {
                        if (f.islike)
                        {
                            c &= CK.K[f.fieldname].Like(v);
                        }
                        else
                        {
                            c &= CK.K[f.fieldname].Eq(v);
                        }
                    }
                    break;

                case "combox":
                    GCombo2 cc = this.tabPage1.Controls[f.control] as GCombo2;
                    v = G.Core.GConvert.ToString(cc.GetValue());
                    if (!v.IsNullOrEmpty())
                    {
                        if (f.islike)
                        {
                            c &= CK.K[f.fieldname].Like(v);
                        }
                        else
                        {
                            c &= CK.K[f.fieldname].Eq(v);
                        }
                    }
                    break;

                case "datetime":
                    GDate gdt  = this.tabPage1.Controls[f.control] as GDate;
                    GDate gdt2 = this.tabPage1.Controls[f.control2] as GDate;
                    v = gdt.GetValue().ToShortDateTime();
                    if (!v.IsNullOrEmpty())
                    {
                        if (f.islike)
                        {
                            c &= CK.K[f.fieldname].Like(v);
                        }
                        else if (f.isdouble)
                        {
                            v2 = "";
                            object obj2 = gdt2.GetValue();
                            if (!obj2.Equals(DBNull.Value))
                            {
                                v2 = obj2.ToDateTime().AddDays(1).ToShortDateString();
                            }
                            c &= CK.K[f.fieldname].Ge(v);
                            c &= CK.K[f.fieldname].Le(v2);
                        }
                        else
                        {
                            string v3 = gdt.GetValue().ToDateTime().AddDays(1).ToShortDateString();
                            c &= CK.K[f.fieldname].Ge(v);
                            c &= CK.K[f.fieldname].Le(v3);
                        }
                    }
                    break;

                case "date":
                    GDate gd = this.tabPage1.Controls[f.control] as GDate;

                    v = gd.GetValue().ToShortDateTime();
                    GDate gd2 = this.tabPage1.Controls[f.control2] as GDate;
                    v2 = gd2.GetValue().ToShortDateTime();
                    if (!v.IsNullOrEmpty())
                    {
                        if (f.islike)
                        {
                            c &= CK.K[f.fieldname].Like(v);
                        }
                        else if (f.isdouble)
                        {
                            c &= CK.K[f.fieldname].Ge(v);
                            c &= CK.K[f.fieldname].Le(v2);
                        }
                        else
                        {
                            c &= CK.K[f.fieldname].Eq(v);
                        }
                    }
                    break;

                case "checkbox":
                    GCheckBox ccb = this.tabPage1.Controls[f.control] as GCheckBox;
                    v = G.Core.GConvert.ToString(ccb.GetValue());
                    if (!v.IsNullOrEmpty())
                    {
                        c &= CK.K[f.fieldname].Eq(v);
                    }
                    break;

                default:
                    GText gt = this.tabPage1.Controls[f.control] as GText;
                    v = G.Core.GConvert.ToString(gt.GetValue());
                    if (!v.IsNullOrEmpty())
                    {
                        if (f.islike)
                        {
                            c &= CK.K[f.fieldname].Like(v);
                        }
                        else
                        {
                            c &= CK.K[f.fieldname].Eq(v);
                        }
                    }
                    break;
                }
            }
            if (c == null)
            {
                c = Condition.Empty;
            }
            return(c);
        }