示例#1
0
        private void DoSigelRowGroup(GroupConfig config)
        {
            int    rowFrom   = CurrentRow + 1;
            int    rowTo     = CurrentRow + 1;
            int    rowOffset = 0;
            int    rowEnd    = RowFrom;
            string childRows;

            if (config.FromRow > -1)
            {
                rowFrom = config.FromRow;
            }
            if (config.ToRow > -1)
            {
                rowTo = config.ToRow;
            }
            if (!string.IsNullOrEmpty(config.ColumnField))
            {
                childRows = SheetData[config.ColumnField] + "";
                rowOffset = GetMaxOffet(childRows);
            }
            rowOffset += RowFrom;
            rowOffset += 1;
            rowTo      = Math.Max(rowTo, rowOffset);
            if (rowFrom < rowTo)
            {
                HssSheet.GroupRow(rowFrom, rowTo);
            }
        }
示例#2
0
 private void DoSigelGroupDispacher(GroupConfig config)
 {
     if (config.GroupType == GroupConfig.RowGroupType)
     {
         DoSigelRowGroup(config);
     }
     else
     {
         DoSigelColumnGroup(config);
     }
 }
示例#3
0
        private GroupConfig PareseSigleConfig(XmlNode node)
        {
            GroupConfig config    = new GroupConfig();
            string      groupType = XmlUtility.getNodeAttributeStringValue(node, "type");

            if (string.IsNullOrEmpty(groupType))
            {
                throw new ArgumentException("Group配置节中的type不能为空");
            }
            else if (string.Compare(groupType, RowGroupType, true) == 0)
            {
                config.GroupType = GroupConfig.RowGroupType;
            }
            else if (string.Compare(groupType, ColumnGroupType, true) == 0)
            {
                config.GroupType = GroupConfig.ColumnGroupType;
            }

            string areaID = XmlUtility.getNodeAttributeStringValue(node, "AreaID");

            if (string.IsNullOrEmpty(areaID))
            {
                throw new ArgumentException("Merged配置项中AreaID无效");
            }
            config.AreaId = areaID;
            string fromColumn = XmlUtility.getNodeAttributeStringValue(node, "FromColumn");

            config.FromColumn = (short)ParseStringToInt(fromColumn);
            string fromRow = XmlUtility.getNodeAttributeStringValue(node, "FromRow");

            config.FromRow = ParseStringToInt(fromRow);
            string toColumn = XmlUtility.getNodeAttributeStringValue(node, "ToColumn");

            config.ToColumn = (short)ParseStringToInt(toColumn);
            string toRow = XmlUtility.getNodeAttributeStringValue(node, "ToRow");

            config.ToRow = ParseStringToInt(toRow);

            string groupField = XmlUtility.getNodeAttributeStringValue(node, ColumnField);

            config.ColumnField = groupField;

            return(config);
        }
示例#4
0
 private void DoSigelColumnGroup(GroupConfig config)
 {
     HssSheet.GroupColumn(config.FromColumn, config.ToColumn);
 }