예제 #1
0
    /// <summary>
    /// 本业务逻辑专用修补表
    /// </summary>
    void SpecialFixTable()
    {
        //如果表里面含有这些关键字,同时表格的列数都一致的话,进行合并
        var KeyWord = new string[] { "集中竞价交易", "竞价交易", "大宗交易", "约定式购回" };

        for (int TableNo = 1; TableNo <= root.TableList.Count - 1; TableNo++)
        {
            var Table        = new HTMLTable(root.TableList[TableNo]);
            var Col          = Table.ColumnCount;
            var Nexttable    = new HTMLTable(root.TableList[TableNo + 1]);
            var NextCol      = Nexttable.ColumnCount;
            var Contains     = false;
            var NextContains = false;
            foreach (var item in root.TableList[TableNo])
            {
                foreach (var key in KeyWord)
                {
                    if (item.Contains(key))
                    {
                        Contains = true;
                        break;
                    }
                }
                if (Contains)
                {
                    break;
                }
            }

            foreach (var item in root.TableList[TableNo + 1])
            {
                foreach (var key in KeyWord)
                {
                    if (item.Contains(key))
                    {
                        NextContains = true;
                        break;
                    }
                }
                if (NextContains)
                {
                    break;
                }
            }

            var ThirdCol     = -1;
            var ThirdContais = false;
            if (root.TableList.ContainsKey(TableNo + 2))
            {
                var ThirdTable = new HTMLTable(root.TableList[TableNo + 2]);
                ThirdCol = ThirdTable.ColumnCount;
                foreach (var item in root.TableList[TableNo + 2])
                {
                    foreach (var key in KeyWord)
                    {
                        if (item.Contains(key))
                        {
                            ThirdContais = true;
                            break;
                        }
                    }
                    if (ThirdContais)
                    {
                        break;
                    }
                }
            }

            if (ThirdCol == NextCol && ThirdContais && NextContains)
            {
                HTMLTable.MergeTable(this, TableNo + 2);
            }

            if (Col == NextCol && Contains && NextContains)
            {
                HTMLTable.MergeTable(this, TableNo + 1);
            }
        }
    }