Ejemplo n.º 1
0
 bool SavePage4()
 {
     for (int i = 0; i < dataGridView4.Rows.Count; i++)
     {
         CViewFilter vf = (CViewFilter)dataGridView4.Rows[i].Tag;
         vf.Idx = i;
         m_View.ViewFilterMgr.Update(vf);
     }
     return(true);
 }
Ejemplo n.º 2
0
        private void btDel4_Click(object sender, EventArgs e)
        {
            if (dataGridView4.SelectedRows.Count == 0)
            {
                MessageBox.Show("请选择行!");
                return;
            }
            CViewFilter vf = (CViewFilter)dataGridView4.SelectedRows[0].Tag;

            m_ViewFilterMgr.Delete(vf);
            dataGridView4.Rows.Remove(dataGridView4.SelectedRows[0]);
        }
Ejemplo n.º 3
0
        private void btOk_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView4.Rows.Count; i++)
            {
                CViewFilter vf = (CViewFilter)dataGridView4.Rows[i].Tag;
                vf.Idx = i;
                m_ViewFilterMgr.Update(vf);
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
Ejemplo n.º 4
0
        private void btAdd4_Click(object sender, EventArgs e)
        {
            if (cbMasterTable.SelectedIndex == -1)
            {
                return;
            }
            DataItem item = (DataItem)cbMasterTable.SelectedItem;
            CTable   tb   = (CTable)item.Data;

            if (cbMasterColumn4.SelectedIndex == -1)
            {
                MessageBox.Show("请选择字段!");
                return;
            }
            if (cbSign4.SelectedIndex == -1)
            {
                MessageBox.Show("请选择比较符号!");
                return;
            }
            if (txtVal4.Text.Trim() == "")
            {
                MessageBox.Show("请输入字段值!");
                return;
            }

            DataItem item2 = (DataItem)cbMasterColumn4.SelectedItem;
            CColumn  col   = (CColumn)item2.Data;

            CViewFilter vf = new CViewFilter();

            vf.Ctx          = Program.Ctx;
            vf.UI_View_id   = m_View.Id;
            vf.AndOr        = (cbAndOr.SelectedIndex == 0) ? "and" : "or";
            vf.FW_Table_id  = tb.Id;
            vf.FW_Column_id = col.Id;
            vf.Sign         = (CompareSign)cbSign4.SelectedIndex;
            vf.Val          = txtVal4.Text.Trim();
            m_View.ViewFilterMgr.AddNew(vf);

            dataGridView4.Rows.Add(1);
            DataGridViewRow rowNew = dataGridView4.Rows[dataGridView4.Rows.Count - 1];

            rowNew.Cells[0].Value = vf.AndOr;
            rowNew.Cells[1].Value = col.Name;
            rowNew.Cells[2].Value = vf.GetSignName();
            rowNew.Cells[3].Value = vf.Val;
            rowNew.Tag            = vf;

            txtVal4.Text = "";
        }
    protected void btAdd_Click(object sender, EventArgs e)
    {
        CViewFilter Filter = new CViewFilter();

        Filter.Ctx          = Global.GetCtx(Session["TopCompany"].ToString());
        Filter.UI_View_id   = m_View.Id;
        Filter.AndOr        = cbAndOr.SelectedItem.Value;
        Filter.FW_Table_id  = m_MTable.Id;
        Filter.FW_Column_id = new Guid(cbColumn.SelectedItem.Value);
        Filter.Sign         = (CompareSign)cbSign.SelectedIndex;
        Filter.Val          = txtVal.Text.Trim();
        Filter.Idx          = m_View.ViewFilterMgr.GetList().Count;

        m_View.ViewFilterMgr.AddNew(Filter);

        txtVal.Text = "";
    }
Ejemplo n.º 6
0
    void GetData()
    {
        string sData  = "";
        int    iCount = 0;

        if (Session["ViewFilterMgr"] != null)
        {
            SortedList <Guid, CViewFilterMgr> sortObj = (SortedList <Guid, CViewFilterMgr>)Session["ViewFilterMgr"];
            if (sortObj.ContainsKey(m_View.Id))
            {
                CViewFilterMgr ViewFilterMgr = sortObj[m_View.Id];
                ViewFilterMgr.IsLoad = true; //避免从数据库装载
                List <CBaseObject> lstObj = ViewFilterMgr.GetList();
                foreach (CBaseObject obj in lstObj)
                {
                    CViewFilter ViewFilter = (CViewFilter)obj;

                    CColumn col = (CColumn)m_Table.ColumnMgr.Find(ViewFilter.FW_Column_id);
                    if (col == null)
                    {
                        continue;
                    }

                    sData += string.Format("{{ \"id\": \"{0}\",\"AndOr\":\"{1}\",\"Column\":\"{2}\",\"Sign\":\"{3}\", \"Val\":\"{4}\" }},"
                                           , ViewFilter.Id
                                           , ViewFilter.AndOr.Equals("and", StringComparison.OrdinalIgnoreCase) ? "与" : "或"
                                           , col.Name
                                           , ViewFilter.GetSignName()
                                           , ViewFilter.Val);

                    iCount++;
                }
            }
        }
        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, iCount);

        Response.Write(sJson);
    }
    void GetData()
    {
        string sData  = "";
        int    iCount = 0;

        List <CBaseObject> lstObj  = m_View.ViewFilterMgr.GetList();
        List <CViewFilter> sortObj = new List <CViewFilter>();

        foreach (CBaseObject obj in lstObj)
        {
            CViewFilter ViewFilter = (CViewFilter)obj;
            sortObj.Add(ViewFilter);
        }
        sortObj.Sort();

        foreach (CViewFilter ViewFilter in sortObj)
        {
            CColumn col = (CColumn)m_MTable.ColumnMgr.Find(ViewFilter.FW_Column_id);
            if (col == null)
            {
                continue;
            }

            sData += string.Format("{{ \"id\": \"{0}\",\"AndOr\":\"{1}\",\"Column\":\"{2}\",\"Sign\":\"{3}\", \"Val\":\"{4}\" }},"
                                   , ViewFilter.Id
                                   , ViewFilter.AndOr.Equals("and", StringComparison.OrdinalIgnoreCase)?"与":"或"
                                   , col.Name
                                   , ViewFilter.GetSignName()
                                   , ViewFilter.Val);

            iCount++;
        }

        sData = sData.TrimEnd(",".ToCharArray());
        sData = "[" + sData + "]";
        string sJson = string.Format("{{\"Rows\":{0},\"Total\":\"{1}\"}}"
                                     , sData, iCount);

        Response.Write(sJson);
    }
Ejemplo n.º 8
0
        void LoadGridView4()
        {
            if (cbMasterTable.SelectedIndex == -1)
            {
                return;
            }
            DataItem item = (DataItem)cbMasterTable.SelectedItem;
            CTable   tb   = (CTable)item.Data;

            txtMasterTable4.Text = tb.Name;
            List <CBaseObject> lstObj  = m_View.ViewFilterMgr.GetList();
            List <CViewFilter> sortObj = new List <CViewFilter>();

            foreach (CBaseObject obj in lstObj)
            {
                CViewFilter vf = (CViewFilter)obj;
                sortObj.Add(vf);
            }
            sortObj.Sort();

            dataGridView4.Rows.Clear();
            foreach (CViewFilter vf in sortObj)
            {
                CColumn column = (CColumn)tb.ColumnMgr.Find(vf.FW_Column_id);
                if (column == null)
                {
                    continue;
                }

                dataGridView4.Rows.Add(1);
                DataGridViewRow rowNew = dataGridView4.Rows[dataGridView4.Rows.Count - 1];
                rowNew.Cells[0].Value = vf.AndOr;
                rowNew.Cells[1].Value = column.Name;
                rowNew.Cells[2].Value = vf.GetSignName();
                rowNew.Cells[3].Value = vf.Val;
                rowNew.Tag            = vf;
            }
        }
Ejemplo n.º 9
0
    protected void btAdd_Click(object sender, EventArgs e)
    {
        if (Session["ViewFilterMgr"] == null)

        {
            SortedList <Guid, CViewFilterMgr> sortObj0 = new SortedList <Guid, CViewFilterMgr>();
            CViewFilterMgr ViewFilterMgr0 = new CViewFilterMgr();
            ViewFilterMgr0.Ctx = Global.GetCtx(Session["TopCompany"].ToString());
            sortObj0.Add(m_View.Id, ViewFilterMgr0);
            Session["ViewFilterMgr"] = sortObj0;
        }
        SortedList <Guid, CViewFilterMgr> sortObj = (SortedList <Guid, CViewFilterMgr>)Session["ViewFilterMgr"];

        if (!sortObj.ContainsKey(m_View.Id))
        {
            CViewFilterMgr ViewFilterMgr0 = new CViewFilterMgr();
            ViewFilterMgr0.Ctx = Global.GetCtx(Session["TopCompany"].ToString());
            sortObj.Add(m_View.Id, ViewFilterMgr0);
        }
        CViewFilterMgr ViewFilterMgr = sortObj[m_View.Id];

        CViewFilter Filter = new CViewFilter();

        Filter.Ctx          = ViewFilterMgr.Ctx;
        Filter.UI_View_id   = m_View.Id;
        Filter.AndOr        = cbAndOr.SelectedItem.Value;
        Filter.FW_Table_id  = m_Table.Id;
        Filter.FW_Column_id = new Guid(cbColumn.SelectedItem.Value);
        Filter.Sign         = (CompareSign)cbSign.SelectedIndex;
        Filter.Val          = txtVal.Text.Trim();
        Filter.Idx          = m_View.ViewFilterMgr.GetList().Count;

        ViewFilterMgr.AddNew(Filter);

        txtVal.Text = "";
    }
Ejemplo n.º 10
0
        //带临时过滤条件的过滤
        public List <CBaseObject> FilterByView(CView view, CViewFilterMgr ViewFilterMgr)
        {
            List <CViewFilter> sortFilter = new List <CViewFilter>();
            List <CBaseObject> lstFilter  = ViewFilterMgr.GetList();

            foreach (CBaseObject objF in lstFilter)
            {
                CViewFilter vf = (CViewFilter)objF;
                sortFilter.Add(vf);
            }
            sortFilter.Sort();//按索引idx排序

            List <CBaseObject> lstRet = new List <CBaseObject>();
            List <CBaseObject> lstObj = FilterByView(view);

            if (sortFilter.Count == 0)
            {
                return(lstObj);
            }
            foreach (CBaseObject obj in lstObj)
            {
                bool bPass    = false; //所有通过
                bool bPassAnd = true;  //上一个and通过
                if (sortFilter.Count == 0)
                {
                    bPass = true;
                }
                else
                {
                    for (int i = 0; i < sortFilter.Count; i++)
                    {
                        CViewFilter vf = (CViewFilter)sortFilter[i];
                        if (i == 0)//第一个忽略and or
                        {
                            if (!obj.FilterByView(vf))
                            {
                                bPassAnd = false;
                            }
                        }
                        else
                        {
                            if (vf.AndOr.Equals("and", StringComparison.OrdinalIgnoreCase))
                            {
                                if (!bPassAnd) //本段落不通过,转向下一个段落
                                {
                                    continue;
                                }
                                if (!obj.FilterByView(vf))
                                {
                                    bPassAnd = false;
                                }
                            }
                            else // or
                            {
                                if (bPassAnd) //本段落全部通过,则无需检验其他段落
                                {
                                    bPass = true;
                                    break;
                                }
                                bPassAnd = true;//一个段落开始
                                if (!obj.FilterByView(vf))
                                {
                                    bPassAnd = false;
                                }
                            }
                        }

                        if (i == sortFilter.Count - 1) //最后一个
                        {
                            if (bPassAnd)
                            {
                                bPass = true;
                            }
                            break;
                        }
                    }
                }
                if (bPass)
                {
                    lstRet.Add(obj);
                }
            }
            return(lstRet);
        }
Ejemplo n.º 11
0
        //检验单条记录过滤条件
        public virtual bool FilterByView(CViewFilter vf)
        {
            CColumn col = (CColumn)Table.ColumnMgr.Find(vf.FW_Column_id);

            if (col == null)
            {
                return(false);
            }
            switch (col.ColType)
            {
            case ColumnType.string_type:
            case ColumnType.text_type:
            {
                return(CompareStr(vf.Sign, m_arrOldVal[col.Code.ToLower()].StrVal, vf.Val));

                break;
            }

            case ColumnType.int_type:
            case ColumnType.enum_type:
            {
                return(CompareInt(vf.Sign, m_arrOldVal[col.Code.ToLower()].IntVal, vf.Val));

                break;
            }

            case ColumnType.long_type:
            {
                return(CompareLong(vf.Sign, m_arrOldVal[col.Code.ToLower()].LongVal, vf.Val));

                break;
            }

            case ColumnType.numeric_type:
            {
                return(CompareDouble(vf.Sign, m_arrOldVal[col.Code.ToLower()].DoubleVal, vf.Val));

                break;
            }

            case ColumnType.bool_type:
            {
                return(CompareBool(vf.Sign, m_arrOldVal[col.Code.ToLower()].BoolVal, vf.Val));

                break;
            }

            case ColumnType.datetime_type:
            {
                return(CompareDateTime(vf.Sign, m_arrOldVal[col.Code.ToLower()].DatetimeVal, vf.Val));

                break;
            }

            case ColumnType.guid_type:
            case ColumnType.ref_type:
            {
                object objVal = GetRefShowColVal(col);
                return(CompareStr(vf.Sign, objVal != null?objVal.ToString():"", vf.Val));

                break;
            }

            case ColumnType.object_type:
            {
                return(CompareObject(vf.Sign, m_arrOldVal[col.Code.ToLower()].ObjectVal, vf.Val));

                break;
            }

            case ColumnType.path_type:
            {
                return(ComparePath(vf.Sign, m_arrOldVal[col.Code.ToLower()].StrVal, vf.Val));

                break;
            }

            default:
                break;
            }
            return(false);
        }