internal static Table CreateTable(DataTable datatable, bool encodeSpaces)
        {
            Table t = new Table {
                Width       = Unit.Percentage(100.0),
                CellPadding = 0,
                CellSpacing = 0
            };

            if (datatable != null)
            {
                bool      flag = false;
                TableCell cell = AddHeaderCell(AddRow(t), "<h3><b>" + System.Web.SR.GetString(datatable.TableName) + "</b></h3>");
                cell.CssClass        = "alt";
                cell.ColumnSpan      = 10;
                cell.HorizontalAlign = HorizontalAlign.Left;
                TableRow trow = AddRow(t);
                trow.CssClass        = "subhead";
                trow.HorizontalAlign = HorizontalAlign.Left;
                IEnumerator enumerator = datatable.Columns.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    AddHeaderCell(trow, System.Web.SR.GetString(((DataColumn)enumerator.Current).ColumnName));
                }
                enumerator = datatable.Rows.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    object[] itemArray = ((DataRow)enumerator.Current).ItemArray;
                    trow = AddRow(t);
                    for (int i = 0; i < itemArray.Length; i++)
                    {
                        string str;
                        if (encodeSpaces)
                        {
                            str = HttpUtility.FormatPlainTextSpacesAsHtml(HttpUtility.HtmlEncode(itemArray[i].ToString()));
                        }
                        else
                        {
                            str = HttpUtility.HtmlEncode(itemArray[i].ToString());
                        }
                        AddCell(trow, (str.Length != 0) ? str : "&nbsp;");
                    }
                    if (flag)
                    {
                        trow.CssClass = "alt";
                    }
                    flag = !flag;
                }
            }
            return(t);
        }
Esempio n. 2
0
        static internal Table CreateTable(DataTable datatable, bool encodeSpaces)
        {
            Table table = new Table();

            table.Width       = Unit.Percentage(100);
            table.CellPadding = 0;
            table.CellSpacing = 0;

            if (datatable == null)
            {
                return(table);
            }

            IEnumerator en;
            bool        isAlt = false;

            Object[]  cells;
            TableRow  trow;
            TableCell tcell;

            // add a title for the table - same as table name
            trow                  = AddRow(table);
            tcell                 = AddHeaderCell(trow, "<h3><b>" + SR.GetString(datatable.TableName) + "</b></h3>");
            tcell.CssClass        = "alt";
            tcell.ColumnSpan      = 10;
            tcell.HorizontalAlign = HorizontalAlign.Left;

            // add the header information - same as column names
            trow                 = AddRow(table);
            trow.CssClass        = "subhead";
            trow.HorizontalAlign = HorizontalAlign.Left;
            en = datatable.Columns.GetEnumerator();
            while (en.MoveNext())
            {
                AddHeaderCell(trow, SR.GetString(((DataColumn)en.Current).ColumnName));
            }

            // now fill in the values, but don't display null values
            en = datatable.Rows.GetEnumerator();
            while (en.MoveNext())
            {
                cells = ((DataRow)en.Current).ItemArray;
                trow  = AddRow(table);

                for (int i = 0; i < cells.Length; i++)
                {
                    string temp;
                    if (encodeSpaces)
                    {
                        temp = HttpUtility.FormatPlainTextSpacesAsHtml(HttpUtility.HtmlEncode(cells[i].ToString()));
                    }
                    else
                    {
                        temp = HttpUtility.HtmlEncode(cells[i].ToString());
                    }

                    AddCell(trow, (temp.Length != 0) ? temp : "&nbsp;");
                }

                // alternate colors
                if (isAlt)
                {
                    trow.CssClass = "alt";
                }
                isAlt = !isAlt;
            }

            return(table);
        }