Пример #1
0
 private void RefreshTreeCondtion()
 {
     tbTreeCondition.DropDownItems.Clear();
     Objects.Column c = new QuickReportCore.Objects.Column();
     c.ID = c.Name = TreeValueType.节点编码.ToString();
     tbTreeCondition.DropDownItems.Add(NewToolStripMenuItemOfTree(c.Clone()));
     c.ID = c.Name = TreeValueType.节点名称.ToString();
     tbTreeCondition.DropDownItems.Add(NewToolStripMenuItemOfTree(c.Clone()));
 }
Пример #2
0
        /// <summary>
        /// 解析Sql。
        /// </summary>
        /// <returns>解析出来的列与条件。</returns>
        public static ArrayList ParseSql(string s)
        {
            if (s.Trim() == string.Empty)
            {
                return(null);
            }
            s = TranslateTextWithSystemValue(s);
            s = "Select * From ( \n " + s + " \n )  Where 1<>1";
            DataSet ds = new DataSet();
            int     i  = qr.ExecQuery(s, ref ds);

            if (i < 0)
            {
                return(null);
            }
            if (ds == null || ds.Tables == null || ds.Tables.Count == 0)
            {
                return(null);
            }
            DataTable dt = ds.Tables[0];

            List <QuickReportCore.Objects.Column>    columnList    = new List <QuickReportCore.Objects.Column>();
            List <QuickReportCore.Objects.Condition> conditionList = new List <QuickReportCore.Objects.Condition>();

            Hashtable htTestor = new Hashtable();

            for (int index = 0; index < dt.Columns.Count; index++)
            {
                if (htTestor.Contains(dt.Columns[index].ColumnName))
                {
                    return(null);
                }
                htTestor.Add(dt.Columns[index].ColumnName, dt.Columns[index].ColumnName);
                QuickReportCore.Objects.Column    column    = new QuickReportCore.Objects.Column();
                QuickReportCore.Objects.Condition condition = new QuickReportCore.Objects.Condition();
                column.ID     = condition.ID = column.Name = condition.Name = dt.Columns[index].ColumnName;
                column.SortId = condition.SortId = index;
                if (dt.Columns[index].DataType == typeof(System.Decimal) || dt.Columns[index].DataType == typeof(System.Int32))
                {
                    column.IsNumber = true;
                }
                Objects.ConditionType ct = Objects.ConditionType.DataTypeCompareToConditionType[dt.Columns[index].DataType] as Objects.ConditionType;
                if (ct != null)
                {
                    condition.ConditionType = ct;
                }
                columnList.Add(column);
                conditionList.Add(condition);
            }
            ArrayList list = new ArrayList();

            list.Add(columnList);
            list.Add(conditionList);
            return(list);
        }
Пример #3
0
 private void RefreshDynamicCondition()
 {
     tbReportDynamic.DropDownItems.Clear();
     Objects.Column c = new QuickReportCore.Objects.Column();
     c.ID = c.Name = DynamicSystemValueType.行数.ToString();
     tbReportDynamic.DropDownItems.Add(NewToolStripMenuItemOfDynamic(c.Clone()));
     c.ID = c.Name = DynamicSystemValueType.列数.ToString();
     tbReportDynamic.DropDownItems.Add(NewToolStripMenuItemOfDynamic(c.Clone()));
     c.ID = c.Name = DynamicSystemValueType.耗时.ToString();
     tbReportDynamic.DropDownItems.Add(NewToolStripMenuItemOfDynamic(c.Clone()));
 }
Пример #4
0
        private ToolStripMenuItem NewToolStripMenuItem(PublicInterfaces.ISystemValue systemValue)
        {
            ToolStripMenuItem t = new ToolStripMenuItem();

            Objects.Column column = new QuickReportCore.Objects.Column();
            column.ID   = Managers.Functions.GetSQLCode(systemValue.ValueID, QuickReportCore.Managers.Functions.SQLCodeType.System);
            column.Name = systemValue.ValueName;
            t.Name      = column.ID;
            t.Text      = column.Name;
            t.Tag       = column;
            return(t);
        }
Пример #5
0
 public void ParseFromXml(XmlDocument xmlDocument)
 {
     GobalColumnList = new List <QuickReportCore.Objects.Column>();
     System.Xml.XmlNodeList nodeList = xmlDocument.SelectNodes("//" + ucColumnObject.XmlAttrDic.ColumnObject.ToString());
     Objects.Column[]       columns  = new QuickReportCore.Objects.Column[nodeList.Count];
     foreach (System.Xml.XmlNode node in nodeList)
     {
         Objects.Column column = new QuickReportCore.Objects.Column();
         column.ID              = Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tID.ToString(), string.Empty);
         column.Name            = Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tName.ToString(), string.Empty);
         column.Filter          = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bFilter.ToString(), "0")));
         column.Use             = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bUse.ToString(), "0")));
         column.Sort            = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bSort.ToString(), "0")));
         column.TotalColumn     = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bTotalColumn.ToString(), "0")));
         column.TotalRow        = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bTotalRow.ToString(), "0")));
         column.SortId          = Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tSortID.ToString(), "0"));
         column.IsNumber        = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bIsNumber.ToString(), "0")));
         column.DecimalPlace    = Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tDecimalPlace.ToString(), "0"));
         column.Font            = fc.ConvertFromInvariantString(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tFont.ToString(), string.Empty)) as Font;
         column.Color           = System.Drawing.ColorTranslator.FromHtml(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tColor.ToString(), string.Empty));
         column.HAligment       = (FarPoint.Win.Spread.CellHorizontalAlignment)Enum.Parse(typeof(FarPoint.Win.Spread.CellHorizontalAlignment), Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tHAligment.ToString(), FarPoint.Win.Spread.CellHorizontalAlignment.General.ToString()));
         column.VAligment       = (FarPoint.Win.Spread.CellVerticalAlignment)Enum.Parse(typeof(FarPoint.Win.Spread.CellVerticalAlignment), Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tVAligment.ToString(), FarPoint.Win.Spread.CellVerticalAlignment.General.ToString()));
         column.Union           = Convert.ToBoolean(Convert.ToInt32(Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.bUnion.ToString(), "0")));
         column.ValueTransType  = (QuickReportCore.Class.NumberCellTypePlus.ValueTranslateType)Enum.Parse(typeof(QuickReportCore.Class.NumberCellTypePlus.ValueTranslateType), Managers.Functions.GetNodeAttrValue(node, ucColumnObject.XmlAttrDic.tValueTranslateType.ToString(), QuickReportCore.Class.NumberCellTypePlus.ValueTranslateType.转换.ToString()));
         columns[column.SortId] = column.Clone();
         GobalColumnList.Add(column.Clone());
     }
     ucColumnObjectControls = new Hashtable();
     for (int i = 0; i < columns.Length; i++)
     {
         if (!ucColumnObjectControls.Contains(columns[i].ID))
         {
             ucColumnObject uc = new ucColumnObject();
             uc.ActivateOn += new ucColumnObject.ActivateHandle(uc_ActivateOn);
             uc.Column      = columns[i];
             ucColumnObjectControls.Add(columns[i].ID, uc);
         }
     }
     pnlColumns.Controls.Clear();
     foreach (DictionaryEntry de in ucColumnObjectControls)
     {
         pnlColumns.Controls.Add(de.Value as Control);
         int i = (de.Value as ucColumnObject).Column.SortId;
         if (i == 0)
         {
             (de.Value as ucColumnObject).Location = new Point(leftMargin, topMargin);
         }
         else
         {
             (de.Value as ucColumnObject).Location = new Point(leftMargin, topMargin + (ucColumnObjectControls[columns[i].ID] as ucColumnObject).Height * i + eatchMargin * i);
         }
     }
 }