Ejemplo n.º 1
0
public static System.Web.WebPages.HelperResult RenderListColumns(this HtmlHelper htmlHelper, ListColumns columns)
{
return new System.Web.WebPages.HelperResult(__razor_helper_writer => {



#line 4 "..\..\Views\ListManage\Helpers.cshtml"
 
    foreach (var column in columns)
    {
        
#line default
#line hidden


#line 7 "..\..\Views\ListManage\Helpers.cshtml"
WebViewPage.WriteTo(@__razor_helper_writer, htmlHelper.RenderListColumn(column));

#line default
#line hidden


#line 7 "..\..\Views\ListManage\Helpers.cshtml"
                                            
    }

#line default
#line hidden

});

}
        public ListColumns GetColumnsForType(Type type, ControllerContext controllerContext)
        {
            var columns = new ListColumns();
            var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, type);
            var sortingValues = GetSortingValues(controllerContext);

            foreach(var metadata in modelMetadata.Properties)
            {
                if(metadata.IsHidden()) continue;

                var column = new ListColumn
                                 {
                                     DisplayName = metadata.GetDisplayName(),
                                     Name = metadata.PropertyName,
                                     IsSearchable = metadata.IsSearchable(),
                                     Order = metadata.Order,
                                     SortDirection = sortingValues.SortDirection,
                                     Type = metadata.ModelType,
                                 };

                column.CellTemplate = FindCellTemplate(controllerContext, column.Name);
                column.HasCellTemplate = column.CellTemplate != null;
                column.IsSorted = column.Name.Equals(sortingValues.SortBy, StringComparison.InvariantCultureIgnoreCase);
                column.SortUrl = GetSortUrlForColumn(controllerContext, column, sortingValues);
                column.HeaderTemplate = FindHeaderTemplate(controllerContext, column.Name);
                column.HasHeaderTemplate = column.HeaderTemplate != null;

                columns.Add(column);
            }

            return columns;
        }
Ejemplo n.º 3
0
    protected void listTables_SelectedIndexChanged(object sender, EventArgs e)
    {
        string tablename = listTables.SelectedValue;

        if (tablename != "")
        {
            DataTable dt  = new BLL.DataBaseHelper().GetShemaColumnName(tablename);
            DataView  dtv = dt.DefaultView;
            dtv.Sort = "ordinal_position";
            ListColumns.DataSource     = dtv;
            ListColumns.DataValueField = "column_name";
            ListColumns.DataTextField  = "column_name";
            ListColumns.DataBind();
        }
    }
Ejemplo n.º 4
0
        public void Test_LMGroup()
        {
            var listManager = new GroupListMan(fContext);

            Assert.IsNotNull(listManager);

            var grpRec = fContext.Tree.XRefIndex_Find("G1") as GDMGroupRecord;

            listManager.Fetch(grpRec);

            listManager.QuickFilter = "*";
            Assert.IsTrue(listManager.CheckFilter());
            listManager.QuickFilter = "*roup*";
            Assert.IsTrue(listManager.CheckFilter());
            listManager.QuickFilter = "*alpha*";
            Assert.IsFalse(listManager.CheckFilter());

            var listView = Substitute.For <IListViewEx>();

            listManager.UpdateColumns(listView);
            var listItem = new GKListItem("", null);

            listManager.UpdateItem(0, listItem, grpRec);

            //
            var colVal = listManager.GetColumnInternalValue(0);

            Assert.IsNotNull(colVal);

            var data = listManager.GetItemData(grpRec);

            Assert.IsNotNull(data);
            Assert.IsTrue(data.Length > 0);

            //
            IListFilter  filter      = listManager.Filter;
            IListColumns listColumns = listManager.ListColumns;

            ListColumns copyColumns = GroupListMan.CreateGroupListColumns();

            listColumns.CopyTo(copyColumns);

            Assert.Throws(typeof(ArgumentNullException), () => { listColumns.CopyTo(null); });

            listManager.QuickFilter = "*";
            listManager.AddCondition((byte)GroupColumnType.ctName, ConditionKind.ck_Contains, "*roup*");
            Assert.IsTrue(listManager.CheckFilter());
        }
Ejemplo n.º 5
0
        public OptionsDlg(IHost host)
        {
            InitializeComponent();

            btnAccept.Image     = UIHelper.LoadResourceImage("Resources.btn_accept.gif");
            btnCancel.Image     = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");
            btnColumnUp.Image   = UIHelper.LoadResourceImage("Resources.btn_up.gif");
            btnColumnDown.Image = UIHelper.LoadResourceImage("Resources.btn_down.gif");

            fHost        = host;
            fOptions     = GlobalOptions.Instance;
            fTempColumns = IndividualListMan.CreateIndividualListColumns();

            SetLang();
            UpdateForm();
        }
Ejemplo n.º 6
0
        public OptionsDlg(IHost host)
        {
            InitializeComponent();

            btnAccept.Image     = GKResources.iBtnAccept;
            btnCancel.Image     = GKResources.iBtnCancel;
            btnColumnUp.Image   = GKResources.iUp;
            btnColumnDown.Image = GKResources.iDown;

            fHost        = host;
            fOptions     = GlobalOptions.Instance;
            fTempColumns = IndividualListMan.CreateIndividualListColumns();

            SetLang();
            UpdateForm();
        }
Ejemplo n.º 7
0
        private GlobalOptions()
        {
            fTreeChartOptions                  = new TreeChartOptions();
            fEventFilters                      = new StringList();
            fMRUFiles                          = new List <MRUFile>();
            fNameFilters                       = new StringList();
            fResidenceFilters                  = new StringList();
            fPedigreeOptions                   = new PedigreeOptions();
            fProxy                             = new ProxyOptions();
            fRelations                         = new StringList();
            fCircleChartOptions                = new CircleChartOptions();
            fGeocoder                          = "Google";
            fRemovableMediaWarning             = true;
            fLoadRecentFiles                   = true;
            fEmbeddedMediaPlayer               = true;
            fAllowMediaStoreReferences         = false;
            fAllowMediaStoreRelativeReferences = true;
            fMediaStoreDefault                 = 0;
            fAllowDeleteMediaFileFromStgArc    = true;
            fAllowDeleteMediaFileFromRefs      = false;
            fDeleteMediaFileWithoutConfirm     = false;
            fUseExtendedNotes                  = false;

            fAutoCheckUpdates = true;
            fAutoSortChildren = true;
            fAutoSortSpouses  = false;
            fCheckTreeSize    = true;

            fIndividualListColumns = IndividualListMan.CreateIndividualListColumns();
            fIndividualListColumns.ResetDefaults();

            fLanguages = new List <LangRecord>();
            fLastBases = new StringList();

            fAutosave         = false;
            fAutosaveInterval = 10;

            fListOptions = new ListOptionsCollection();
            fReadabilityHighlightRows = true;
            fShortKinshipForm         = false;
            fSurnameFirstInOrder      = true;

            fCharsetDetection          = false;
            fFirstCapitalLetterInNames = false;
            fGeoSearchCountry          = string.Empty;
        }
Ejemplo n.º 8
0
        public void InitDataSource(ListColumns cols, TreeNodeCollection nodes)
        {
            dataGridView1.Rows.Add(cols.Count);
            DataGridViewComboBoxColumn col = dataGridView1.Columns[1] as DataGridViewComboBoxColumn;

            for (int i = 0; i < nodes.Count; i++)
            {
                col.Items.Add(nodes[i].Name);
            }
            for (int i = 0; i < cols.Count; i++)
            {
                dataGridView1.Rows[i].Cells[0].Value = cols.get_Item(i + 1).Name;
            }
            dataGridView1.AllowUserToAddRows    = false;
            dataGridView1.AllowUserToDeleteRows = false;
            dataGridView1.Columns[0].ReadOnly   = true;
        }
Ejemplo n.º 9
0
        public OptionsDlg(IHost host)
        {
            InitializeComponent();

            btnAccept.Image     = UIHelper.LoadResourceImage("Resources.btn_accept.gif");
            btnCancel.Image     = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");
            btnColumnUp.Image   = UIHelper.LoadResourceImage("Resources.btn_up.gif");
            btnColumnDown.Image = UIHelper.LoadResourceImage("Resources.btn_down.gif");

            fOptions     = GlobalOptions.Instance;
            fTempColumns = IndividualListMan.CreateIndividualListColumns();

            cmbGeoSearchCountry.Items.Clear();
            foreach (var ci in GKUtils.GetCountries())
            {
                cmbGeoSearchCountry.Items.Add(ci);
            }

            SetLocale();
            UpdateForm();
        }
        public void Setup()
        {
            form = new NameValueCollection();
            columns = new ListColumns();
            listViewModel = new ListViewModel {Columns = columns};
            httpContext = new MockHttpContext();
            ((MockHttpRequest)httpContext.Request).SetForm(form);

            controllerContext = new ControllerContext();
            controllerContext.HttpContext = httpContext;

            ValueProviderFactories.Factories
                .ReplaceWith<HttpFileCollectionValueProviderFactory>(ctx => ctx.HttpContext.Request.Form)
                .ReplaceWith<FormValueProviderFactory>(ctx => ctx.HttpContext.Request.Form)
                .ReplaceWith<QueryStringValueProviderFactory>(ctx => ctx.HttpContext.Request.QueryString);

            bindingContext = new ModelBindingContext
                                 {
                                     ModelMetadata = ModelMetadata.FromLambdaExpression(parameter => parameter, new ViewDataDictionary<ListViewModel>(listViewModel))
                                 };

            binder = new ListViewModelBinder();
        }
Ejemplo n.º 11
0
        private GlobalOptions()
        {
            fTreeChartOptions          = new TreeChartOptions();
            fEventFilters              = new StringList();
            fMRUFiles                  = new List <MRUFile>();
            fNameFilters               = new StringList();
            fResidenceFilters          = new StringList();
            fPedigreeOptions           = new PedigreeOptions();
            fProxy                     = new ProxyOptions();
            fRelations                 = new StringList();
            fCircleChartOptions        = new CircleChartOptions();
            fGeocoder                  = "Google";
            fRemovableMediaWarning     = true;
            fLoadRecentFiles           = true;
            fEmbeddedMediaPlayer       = true;
            fAllowMediaStoreReferences = false;
            fUseExtendedNotes          = false;

            fAutoCheckUpdates = true;
            fAutoSortChildren = true;
            fAutoSortSpouses  = false;
            fCheckTreeSize    = true;

            fIndividualListColumns = IndividualListMan.CreateIndividualListColumns();
            fIndividualListColumns.ResetDefaults();

            fLanguages = new List <LangRecord>();
            fLastBases = new StringList();

            fAutosave         = false;
            fAutosaveInterval = 10;

            fListOptions = new ListOptionsCollection();
            fReadabilityHighlightRows = true;

            fCharsetDetection = false;
        }
Ejemplo n.º 12
0
        public CommonFilterDlg(IBaseWindow baseWin, IListManager listMan)
        {
            if (baseWin == null)
            {
                throw new ArgumentNullException("baseWin");
            }

            if (listMan == null)
            {
                throw new ArgumentNullException("listMan");
            }

            InitializeComponent();

            btnAccept.Image = GKResources.iBtnAccept;
            btnCancel.Image = GKResources.iBtnCancel;

            fBase    = baseWin;
            fListMan = listMan;

            ListColumns listColumns = (ListColumns)fListMan.ListColumns;

            fFields    = new string[listColumns.Count + 1]; // +empty item
            fFields[0] = "";

            for (int idx = 0; idx < listColumns.Count; idx++)
            {
                var cs = listColumns[idx];
                fFields[idx + 1] = fListMan.GetColumnName(cs.Id);
            }

            SetLang();

            InitGrid();
            UpdateGrid();
        }
Ejemplo n.º 13
0
        public OptionsDlg(IHost host)
        {
            InitializeComponent();

            btnAccept.Image     = UIHelper.LoadResourceImage("Resources.btn_accept.gif");
            btnCancel.Image     = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");
            btnColumnUp.Image   = UIHelper.LoadResourceImage("Resources.btn_up.gif");
            btnColumnDown.Image = UIHelper.LoadResourceImage("Resources.btn_down.gif");

            fHost        = host;
            fOptions     = GlobalOptions.Instance;
            fTempColumns = IndividualListMan.CreateIndividualListColumns();

            lstPersonColumns.AddCheckedColumn("x", 75);
            lstPersonColumns.AddColumn("Title", 100);

            lvPlugins.AddColumn("Title", 75);
            lvPlugins.AddColumn("Version", 100);
            lvPlugins.AddColumn("Copyright", 125);
            lvPlugins.AddColumn("Description", 250);

            SetLang();
            UpdateForm();
        }
Ejemplo n.º 14
0
 protected void AddListColumn <TProperty>(Expression <Func <TE, TProperty> > navigationPropertyPath)
 {
     ListColumns.Add(SymbolExtensions.GetPropertyInfo(navigationPropertyPath));
 }
Ejemplo n.º 15
0
        public void Test_Lists()
        {
            ListColumn colStatic = new ListColumn(0, 0, DataType.dtString, 0, true);

            Assert.IsNotNull(colStatic);
            Assert.AreEqual(0, colStatic.Order);
            Assert.AreEqual(false, colStatic.CurActive);
            Assert.AreEqual(0, colStatic.CurWidth);

            //
            ListFilter listFilter = new ListFilter();

            Assert.IsNotNull(listFilter);
            Assert.AreEqual(0, listFilter.Conditions.Count);
            listFilter.Clear();
            Assert.AreEqual(0, listFilter.Conditions.Count);

            ListManager  listManager;
            ListViewMock lvMock = new ListViewMock();
            GKListItem   listItem;

            //
            listManager = new GroupListMan(fContext);
            Assert.IsNotNull(listManager);

            GDMGroupRecord grpRec = fContext.Tree.XRefIndex_Find("G1") as GDMGroupRecord;

            listManager.Fetch(grpRec);

            listManager.QuickFilter = "*";
            Assert.IsTrue(listManager.CheckFilter());
            listManager.QuickFilter = "*roup*";
            Assert.IsTrue(listManager.CheckFilter());
            listManager.QuickFilter = "*alpha*";
            Assert.IsFalse(listManager.CheckFilter());

            listManager.UpdateColumns(lvMock);
            listItem = new GKListItem("", null);
            listManager.UpdateItem(0, listItem, grpRec);

            //
            var colVal = listManager.GetColumnInternalValue(0);

            Assert.IsNotNull(colVal);

            var data = listManager.GetItemData(grpRec);

            Assert.IsNotNull(data);
            Assert.IsTrue(data.Length > 0);

            //
            IListFilter  filter      = listManager.Filter;
            IListColumns listColumns = listManager.ListColumns;

            ListColumns copyColumns = GroupListMan.CreateGroupListColumns();

            listColumns.CopyTo(copyColumns);

            Assert.Throws(typeof(ArgumentNullException), () => { listColumns.CopyTo(null); });

            listManager.QuickFilter = "*";
            listManager.AddCondition((byte)GroupColumnType.ctName, ConditionKind.ck_Contains, "*roup*");
            Assert.IsTrue(listManager.CheckFilter());
        }
 protected override void SetListColumns()
 {
     ListColumns.AddRange(GetRelevantProperties());
 }
Ejemplo n.º 17
0
        /// <summary>
        /// MyXls导出
        /// </summary>
        /// <returns></returns>
        public byte[] GenerateExcel()
        {
            XlsDocument xls = new XlsDocument();

            Worksheet sheet = xls.Workbook.Worksheets.Add("Sheet1");//状态栏标题名称
            Cells     cells = sheet.Cells;

            MakeExcelHeader(ListColumns, cells, 1, 1);

            int rowIndex = ListColumns.Max(x => x.MaxLevel);
            int colIndex = 0;
            //List<Color> allcolors = new List<Color>();
            //allcolors.Add(Colors.Default08);
            //allcolors.Add(Colors.Default09);
            //allcolors.Add(Colors.Default0A);
            //allcolors.Add(Colors.Default0B);
            //allcolors.Add(Colors.Default0C);
            //allcolors.Add(Colors.Default0D);
            //allcolors.Add(Colors.Default0E);
            //allcolors.Add(Colors.Default0F);
            //allcolors.Add(Colors.Default10);
            //allcolors.Add(Colors.Default11);
            //allcolors.Add(Colors.Default12);
            //allcolors.Add(Colors.Default13);
            //allcolors.Add(Colors.Default14);
            //allcolors.Add(Colors.Default15);
            //allcolors.Add(Colors.Default16);
            //allcolors.Add(Colors.Default17);
            //allcolors.Add(Colors.Default18);
            //allcolors.Add(Colors.Default19);
            //allcolors.Add(Colors.Default20);
            //allcolors.Add(Colors.Default1A);
            //allcolors.Add(Colors.Default1B);
            //allcolors.Add(Colors.Default1C);
            //allcolors.Add(Colors.Default1D);
            //allcolors.Add(Colors.Default1E);
            //allcolors.Add(Colors.Default1F);
            //allcolors.Add(Colors.Default20);
            //allcolors.Add(Colors.Default21);
            //allcolors.Add(Colors.Default22);
            //allcolors.Add(Colors.Default23);
            //allcolors.Add(Colors.Default24);
            //allcolors.Add(Colors.Default25);
            //allcolors.Add(Colors.Default26);
            //allcolors.Add(Colors.Default27);
            //allcolors.Add(Colors.Default28);
            //allcolors.Add(Colors.Default29);
            //allcolors.Add(Colors.Default2A);
            //allcolors.Add(Colors.Default2B);
            //allcolors.Add(Colors.Default2C);
            //allcolors.Add(Colors.Default2D);
            //allcolors.Add(Colors.Default2E);
            //allcolors.Add(Colors.Default2F);
            //allcolors.Add(Colors.Default30);
            //allcolors.Add(Colors.Default31);
            //allcolors.Add(Colors.Default32);
            //allcolors.Add(Colors.Default33);
            //allcolors.Add(Colors.Default34);
            //allcolors.Add(Colors.Default35);
            //allcolors.Add(Colors.Default36);
            //allcolors.Add(Colors.Default37);
            //allcolors.Add(Colors.Default38);
            //allcolors.Add(Colors.Default39);
            //allcolors.Add(Colors.Default3A);
            //allcolors.Add(Colors.Default3B);
            //allcolors.Add(Colors.Default3C);
            //allcolors.Add(Colors.Default3D);
            //allcolors.Add(Colors.Default3E);
            //allcolors.Add(Colors.Default3F);
            //int xx = 0;
            Dictionary <IGridColumn <TModel>, int> sameCount = new Dictionary <IGridColumn <TModel>, int>();

            foreach (var baseCol in ListColumns)
            {
                foreach (var col in baseCol.BottomChildren)
                {
                    sameCount.Add(col, 0);
                }
            }
            int i = 0;

            foreach (var row in EntityList)
            {
                rowIndex++;
                colIndex = 0;
                foreach (var baseCol in ListColumns)
                {
                    foreach (var col in baseCol.BottomChildren)
                    {
                        colIndex++;
                        //sheet.Cells.AddValueCell(rowIndex, colIndex, row[col.ColumnName].ToString());//将数据添加到xls表格里
                        //Cell cell= cells.AddValueCell(rowIndex, colIndex, Convert.ToDouble(row[col.ColumnName].ToString()));//转换为数字型
                        string  cellValue = col.GetText(row).ToHtmlString();
                        object  cv        = cellValue;
                        int     testInt;
                        decimal testFloat;
                        int     floatRound = 0;
                        if (!cellValue.StartsWith("0"))
                        {
                            if (int.TryParse(cellValue, out testInt))
                            {
                                if (testInt <= 100000)
                                {
                                    cv = testInt;
                                }
                            }
                            else if (decimal.TryParse(cellValue, out testFloat))
                            {
                                if (testFloat <= 100000)
                                {
                                    cv = testFloat;
                                    if (cellValue.Split('.').Count() > 1)
                                    {
                                        floatRound = cellValue.Split('.')[1].ToArray().Count(); //获取小数位数
                                    }
                                }
                            }
                        }
                        else if (decimal.TryParse(cellValue, out testFloat))
                        {
                            if (testFloat == 0)//为0时
                            {
                                cv         = 0;
                                floatRound = 0;
                            }
                            else if (testFloat < 1)//modify by yecs 2015-02-26 LSTC税收报表: 小数点的项目被显示为文本格式(小于1的小数)
                            {
                                cv         = testFloat;
                                floatRound = cellValue.Split('.')[1].ToArray().Count();
                            }
                        }
                        Cell cell = cells.Add(rowIndex, colIndex, cv);
                        if (floatRound > 0)
                        {
                            cell.Format = "0.";
                            for (int x = 1; x <= floatRound; x++)
                            {
                                cell.Format += "0";
                            }
                        }
                        cell.TopLineStyle      = 1;
                        cell.BottomLineStyle   = 1;
                        cell.LeftLineStyle     = 1;
                        cell.RightLineStyle    = 1;
                        cell.UseBorder         = true;
                        cell.VerticalAlignment = VerticalAlignments.Centered;
                        System.Drawing.Color backColor = col.GetBackGroundColor(row);
                        System.Drawing.Color foreColor = col.GetForeGroundColor(row);
                        if (backColor != System.Drawing.Color.Empty)
                        {
                            cell.Pattern      = 1;
                            cell.PatternColor = UtilsTool.GetExcelColor(backColor);
                        }

                        if (col.NeedGroup == true && sameCount[col] == i)
                        {
                            sameCount[col] = sameCount[col] + 1;
                            string lastValue = col.GetText(row).ToHtmlString();
                            for (int j = i + 1; j < EntityList.Count; j++)
                            {
                                if (col.GetText(EntityList[j]).ToHtmlString() == lastValue)
                                {
                                    sameCount[col] = sameCount[col] + 1;
                                }
                                else
                                {
                                    break;
                                }
                            }
                            cells.Merge(rowIndex, rowIndex + sameCount[col] - i - 1, colIndex, colIndex);
                        }
                    }
                }
                i++;
            }

            return(xls.Bytes.ByteArray);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 导出pdf
        /// </summary>
        /// <param name="IsHorizontal">是否为横向布局</param>
        /// <param name="TableTitle">查询列表,表头数据</param>
        /// <returns></returns>
        public byte[] GeneratePDF(bool IsHorizontal = false, PdfHelper.PdfTableTitle TableTitle = null)
        {
            //设置pdf宽度
            Rectangle pagesize = null;

            if (IsHorizontal)
            {
                pagesize = new Rectangle(PageSize.A4.Height, PageSize.A4.Width);
            }
            else
            {
                pagesize = new Rectangle(PageSize.A4.Width, PageSize.A4.Height);
            }
            Document     pdf    = new Document(pagesize);
            MemoryStream ms     = new MemoryStream();
            PdfWriter    writer = PdfWriter.GetInstance(pdf, ms);
            BaseFont     bfSun  = BaseFont.CreateFont(@"c:\windows\fonts\SIMSUN.TTC,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

            iTextSharp.text.Font headerFont = new iTextSharp.text.Font(bfSun, 9);
            iTextSharp.text.Font normalFont = new iTextSharp.text.Font(bfSun, 8);
            pdf.Open();

            //如果查询字符串不为空,则加表头
            if (TableTitle != null)
            {
                //设置内容的左右上下margin
                pdf.SetMargins(10, 10, 105, 30);

                var pEvent = new PdfHelper.PDFEvent(bfSun, pagesize)
                {
                    TableTitle = TableTitle
                };
                writer.PageEvent = pEvent;
                //pEvent.CreateHeaderTemplate(write);
            }
            else
            {
                pdf.SetMargins(10, 10, 20, 20);
            }
            pdf.NewPage();
            #region 导出数据表格
            PdfPTable table = new PdfPTable(ListColumns.Sum(x => x.MaxChildrenCount));
            table.KeepTogether        = true;
            table.TotalWidth          = pagesize.Width;
            table.WidthPercentage     = 100;
            table.DefaultCell.Border  = 0;
            table.DefaultCell.Padding = 1;
            MakePdfHeader(ListColumns, table, headerFont);
            Dictionary <IGridColumn <TModel>, int> sameCount = new Dictionary <IGridColumn <TModel>, int>();
            foreach (var baseCol in ListColumns)
            {
                foreach (var col in baseCol.BottomChildren)
                {
                    sameCount.Add(col, 0);
                }
            }
            //int i = 0;
            //foreach (var row in EntityList)
            for (int i = 0; i < EntityList.Count; i++)
            {
                var row = EntityList[i];
                foreach (var baseCol in ListColumns)
                {
                    foreach (var col in baseCol.BottomChildren)
                    {
                        System.Drawing.Color backColor = col.GetBackGroundColor(row);
                        System.Drawing.Color foreColor = col.GetForeGroundColor(row);
                        if (foreColor != System.Drawing.Color.Empty)
                        {
                            normalFont.Color = new BaseColor(foreColor);
                        }
                        PdfPCell cell = new PdfPCell(new Phrase(col.GetText(row).ToHtmlString(), normalFont))
                        {
                            Border = 0, Padding = 1
                        };
                        if (backColor != System.Drawing.Color.Empty)
                        {
                            cell.BackgroundColor = new BaseColor(backColor);
                        }
                        if (col.NeedGroup == true && sameCount[col] == i)
                        {
                            sameCount[col] = sameCount[col] + 1;
                            string lastValue = col.GetText(row).ToHtmlString();
                            for (int j = i + 1; j < EntityList.Count; j++)
                            {
                                if (col.GetText(EntityList[j]).ToHtmlString() == lastValue)
                                {
                                    sameCount[col] = sameCount[col] + 1;
                                }
                                else
                                {
                                    break;
                                }
                            }
                            cell.Rowspan = sameCount[col] - i;
                            table.AddCell(cell);
                        }
                        if (col.NeedGroup == false)
                        {
                            table.AddCell(cell);
                        }
                    }
                }
                //如果有表头,需要每一页又要有表头
                if (TableTitle != null && TableTitle.Count > 0 && (i + 1) % TableTitle.Count == 0)
                {
                    pdf.Add(table);
                    pdf.NewPage();
                    table.Rows.Clear();
                    MakePdfHeader(ListColumns, table, headerFont);
                }
                //i++;
            }
            if (table.Rows.Count > 0)
            {
                pdf.Add(table);
            }
            #endregion

            pdf.Close();
            byte[] rv = ms.ToArray();
            ms.Close();
            return(rv);
        }