Esempio n. 1
0
        static internal Table CreateTraceTable(DataTable datatable)
        {
            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;
            TableRow    trow;
            TableCell   tcell;
            DataRow     datarow;

            // 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;
            AddHeaderCell(trow, SR.GetString(SR.Trace_Category));
            AddHeaderCell(trow, SR.GetString(SR.Trace_Message));
            AddHeaderCell(trow, SR.GetString(SR.Trace_From_First));
            AddHeaderCell(trow, SR.GetString(SR.Trace_From_Last));

            // now fill in the values, but don't display null values
            en = datatable.DefaultView.GetEnumerator();
            while (en.MoveNext())
            {
                trow    = AddRow(table);
                datarow = ((DataRowView)en.Current).Row;

                bool isErr = datarow[SR.Trace_Warning].Equals("yes");

                // FormatPlainTextAsHtml the values first
                tcell = AddCell(trow, HttpUtility.FormatPlainTextAsHtml((string)datarow[SR.Trace_Category]));
                if (isErr)
                {
                    tcell.CssClass = "err";
                }

                StringBuilder message = new StringBuilder(HttpUtility.FormatPlainTextAsHtml((string)datarow[SR.Trace_Message]));

                object errormessage = datarow["ErrorInfoMessage"];
                object errorstack   = datarow["ErrorInfoStack"];
                if (!(errormessage is System.DBNull))
                {
                    message.Append("<br>" + HttpUtility.FormatPlainTextAsHtml((string)errormessage));
                }
                if (!(errorstack is System.DBNull))
                {
                    message.Append("<br>" + HttpUtility.FormatPlainTextAsHtml((string)errorstack));
                }

                tcell = AddCell(trow, message.ToString());
                if (isErr)
                {
                    tcell.CssClass = "err";
                }

                tcell = AddCell(trow, FormatPotentialDouble(datarow[SR.Trace_From_First]));
                if (isErr)
                {
                    tcell.CssClass = "err";
                }

                tcell = AddCell(trow, FormatPotentialDouble(datarow[SR.Trace_From_Last]));
                if (isErr)
                {
                    tcell.CssClass = "err";
                }


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

                isAlt = !isAlt;
            }

            return(table);
        }
        internal static Table CreateTraceTable(DataTable datatable)
        {
            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;
                AddHeaderCell(trow, System.Web.SR.GetString("Trace_Category"));
                AddHeaderCell(trow, System.Web.SR.GetString("Trace_Message"));
                AddHeaderCell(trow, System.Web.SR.GetString("Trace_From_First"));
                AddHeaderCell(trow, System.Web.SR.GetString("Trace_From_Last"));
                IEnumerator enumerator = datatable.DefaultView.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    trow = AddRow(t);
                    DataRow row   = ((DataRowView)enumerator.Current).Row;
                    bool    flag2 = row["Trace_Warning"].Equals("yes");
                    cell = AddCell(trow, HttpUtility.FormatPlainTextAsHtml((string)row["Trace_Category"]));
                    if (flag2)
                    {
                        cell.CssClass = "err";
                    }
                    StringBuilder builder = new StringBuilder(HttpUtility.FormatPlainTextAsHtml((string)row["Trace_Message"]));
                    object        obj2    = row["ErrorInfoMessage"];
                    object        obj3    = row["ErrorInfoStack"];
                    if (!(obj2 is DBNull))
                    {
                        builder.Append("<br>" + HttpUtility.FormatPlainTextAsHtml((string)obj2));
                    }
                    if (!(obj3 is DBNull))
                    {
                        builder.Append("<br>" + HttpUtility.FormatPlainTextAsHtml((string)obj3));
                    }
                    cell = AddCell(trow, builder.ToString());
                    if (flag2)
                    {
                        cell.CssClass = "err";
                    }
                    cell = AddCell(trow, row["Trace_From_First"].ToString());
                    if (flag2)
                    {
                        cell.CssClass = "err";
                    }
                    cell = AddCell(trow, row["Trace_From_Last"].ToString());
                    if (flag2)
                    {
                        cell.CssClass = "err";
                    }
                    if (flag)
                    {
                        trow.CssClass = "alt";
                    }
                    flag = !flag;
                }
            }
            return(t);
        }