/// <summary>
/// <para> </para>
/// 常用工具类——直接在浏览器输出数据
/// <para> -------------------------------------------------------------</para>
/// <para> DumpDataTable:接在浏览器输出数据DataTable</para>
/// <para> DumpListItemILIST:直接在浏览器输出数据ILIST<ListItem></para>
/// <para> DumpDataTableILIST:直接在浏览器输出数据DataTableILIST</para>
/// <para> DumpIntArrILIST:直接在浏览器输出数据整型数组ILIST<int[]></para>
/// <para> DumpStrArrILIST:直接在浏览器输出数据字符串数组的ILIST<string[]></para>
/// <para> DumpDataSet:直接在浏览器输出数据DataSet对象</para>
/// <para> DumpObjectArr2:直接在浏览器中输出二维数组</para>
/// </summary>
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using System.Resources;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics; namespace Utils
{
/// <summary>
/// <para> </para>
/// 常用工具类——直接在浏览器输出数据
/// <para> -------------------------------------------------------------</para>
/// <para> DumpDataTable:接在浏览器输出数据DataTable</para>
/// <para> DumpListItemILIST:直接在浏览器输出数据ILIST<ListItem></para>
/// <para> DumpDataTableILIST:直接在浏览器输出数据DataTableILIST</para>
/// <para> DumpIntArrILIST:直接在浏览器输出数据整型数组ILIST<int[]></para>
/// <para> DumpStrArrILIST:直接在浏览器输出数据字符串数组的ILIST<string[]></para>
/// <para> DumpDataSet:直接在浏览器输出数据DataSet对象</para>
/// <para> DumpObjectArr2:直接在浏览器中输出二维数组</para>
/// </summary> public class DumpHelper
{
#region 构造方法设置
/// <summary>
/// 数据类型颜色
/// </summary>
protected static string ColorDataType = "red";
/// <summary>
/// 行数颜色
/// </summary>
protected static string ColorRowCount = "red";
/// <summary>
/// 列数颜色
/// </summary>
protected static string ColorColumnsCount = "red";
/// <summary>
/// 无数据时颜色
/// </summary>
protected static string ColorNoData = "red";
/// <summary>
/// 序号颜色
/// </summary>
protected static string ColorSerial = "black";
/// <summary>
/// 字段名颜色
/// </summary>
protected static string ColorFieldName = "blue";
/// <summary>
/// 字段类型颜色
/// </summary>
protected static string ColorFieldType = "#cc9999";
/// <summary>
/// 字段值颜色
/// </summary>
protected static string ColorFieldValue = "#9933ff";
/// <summary>
/// 最终输出字符串
/// </summary>
protected static string DumpStr = string.Empty;
/// <summary>
/// 输出字符串DIV开始
/// </summary>
protected static string DivRef = "<div style='font-size:14px;line-height:20px;margin:5px 0 0 5px;'>";
#endregion #region 直接在浏览器输出数据DataTable
/// <summary>
/// 直接在浏览器输出数据DataTable
/// </summary>
/// <param name="Dt">DataTable表格</param>
public static void DumpDataTable(DataTable Dt)
{
if (Dt != null)
{
int DtRowsCount = Dt.Rows.Count;
int DtColumnsCount = Dt.Columns.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">TableDate</font> [ 表名:" + Dt.TableName + " 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ] <hr>";
if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">无表格行数据!</font>";
else
{
for (int i = 0; i < DtRowsCount; i++)
{
DumpStr += "( Row:<font color=" + ColorSerial + ">" + i + "</font> ) => ";
for (int j = 0; j < DtColumnsCount; j++)
{
string ColumnName = Dt.Columns[j].ColumnName.ToString();
string ColumnType = Dt.Columns[j].DataType.ToString();
DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[i][ColumnName].ToString() + "</font>\"";
}
DumpStr += "<p>";
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器输出数据ILIST<ListItem>
/// <summary>
/// 直接在浏览器输出数据ILIST<ListItem>
/// </summary>
/// <param name="ListItems">ILIST<ListItem>泛型数据</param>
public static void DumpListItemILIST(IList<ListItem> ListItems)
{
if (ListItems != null)
{
int ListCount = ListItems.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<ListItem></font> [ 项目数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>";
if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>";
else
{
for (int i = 0; i < ListCount; i++)
{
DumpStr += "( " + i + " ) => ";
string Texts = ListItems[i].Text.ToString();
string Values = ListItems[i].Value.ToString();
DumpStr += " <font color=" + ColorFieldName + ">[ Text ]</font> => \"<font color=" + ColorFieldValue + ">" + Texts + "</font>\"";
DumpStr += " <font color=" + ColorFieldName + ">[ Value ]</font> => \"<font color=" + ColorFieldValue + ">" + Values + "</font>\"";
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器输出数据DataTableILIST
/// <summary>
/// 直接在浏览器输出数据DataTableILIST
/// </summary>
/// <param name="ListDataTable">ILIST<ListDataTable>泛型数据</param>
public static void DumpDataTableILIST(IList<DataTable> ListDataTable)
{
if (ListDataTable != null)
{
int ListCount = ListDataTable.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<DataTable></font> [ DataTable数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>";
if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>";
else
{
for (int i = 0; i < ListCount; i++)
{
if (i > 0) DumpStr += "<hr>";
DataTable Dt = ListDataTable[i];
int DtRowsCount = Dt.Rows.Count;
int DtColumnsCount = Dt.Columns.Count;
DumpStr += "( 表序号:" + i + " 表名:" + Dt.TableName + " ) => [ 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ]";
if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">表格中无数据!</font><p>";
else
{
for (int k = 0; k < DtRowsCount; k++)
{
DumpStr += " ( Row:<font color=" + ColorSerial + ">" + k + "</font> ) => ";
for (int j = 0; j < DtRowsCount; j++)
{
string ColumnName = Dt.Columns[j].ColumnName.ToString();
string ColumnType = Dt.Columns[j].DataType.ToString();
DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[k][ColumnName].ToString() + "</font>\"";
}
DumpStr += "<p>";
}
}
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器输出数据整型数组ILIST<int[]>
/// <summary>
/// 直接在浏览器输出数据整型数组ILIST<int[]>
/// </summary>
/// <param name="IntList">ILIST<Int[]>泛型数据</param>
public static void DumpIntArrILIST(IList<int[]> IntList)
{
if (IntList != null)
{
int ListCount = IntList.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<Int[]></font> [ Int[]个数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>";
if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>";
else
{
for (int i = 0; i < ListCount; i++)
{
int[] IntArr = IntList[i];
int IntArrCount = IntArr.Length;
DumpStr += "( Int[]:<font color=" + ColorSerial + ">" + i + "</font> ) => 数组元素个数:<font color=" + ColorSerial + ">" + IntArrCount + "</font>";
if (IntArrCount < 1) DumpStr += " <font color=" + ColorNoData + ">数组中无数据</font><p>";
else
{
for (int j = 0; j < IntArrCount; j++)
{
DumpStr += " [" + j + "] ( <font color=" + ColorFieldType + ">Int</font> ) => \"<font color=" + ColorFieldValue + ">" + IntArr[j].ToString() + "</font>\"";
}
}
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器输出数据字符串数组的ILIST<string[]>
/// <summary>
/// 直接在浏览器输出数据字符串数组的ILIST<string[]>
/// </summary>
/// <param name="StrList">ILIST<String[]>泛型数据</param>
public static void DumpStrArrILIST(IList<string[]> StrList)
{
if (StrList != null)
{
int ListCount = StrList.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">IList<String[]></font> [ String[]个数:<font color=" + ColorRowCount + ">" + ListCount + "</font> ] <hr>";
if (ListCount < 1) DumpStr += " <font color=" + ColorNoData + ">泛型中无数据!</font>";
else
{
for (int i = 0; i < ListCount; i++)
{
string[] StrArr = StrList[i];
int StrArrCount = StrArr.Length;
DumpStr += "( String[]:<font color=" + ColorSerial + ">" + i + "</font> ) => 数组元素个数:<font color=" + ColorSerial + ">" + StrArrCount + "</font>";
if (StrArrCount < 1) DumpStr += " <font color=" + ColorNoData + ">数组中无数据</font><p>";
else
{
for (int j = 0; j < StrArrCount; j++)
{
DumpStr += " [" + j + "] ( <font color=" + ColorFieldType + ">Int</font> ) => \"<font color=" + ColorFieldValue + ">" + StrArr[j].ToString() + "</font>\"";
}
}
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器输出数据DataSet对象
/// <summary>
/// 直接在浏览器输出数据DataSet对象
/// </summary>
/// <param name="DS">DataSet对象</param>
public static void DumpDataSet(DataSet DS)
{
if (DS != null)
{
int DtCount = DS.Tables.Count;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">DataSet对象</font> [ DataSet中表格个数:<font color=" + ColorRowCount + ">" + DtCount + "</font> ] <hr>";
if (DtCount < 1) DumpStr += " <font color=" + ColorNoData + ">DataSet对象中无表格!</font>";
else
{
for (int i = 0; i < DtCount; i++)
{
if (i > 0) DumpStr += "<hr>";
DataTable Dt = DS.Tables[i];
int DtRowsCount = Dt.Rows.Count;
int DtColumnsCount = Dt.Columns.Count;
DumpStr += "( 表序号:" + i + " 表名:" + Dt.TableName + " ) => [ 行数:<font color=" + ColorRowCount + ">" + DtRowsCount + "</font>,列数:<font color=" + ColorColumnsCount + ">" + DtColumnsCount + "</font> ]";
if (DtRowsCount < 1) DumpStr += " <font color=" + ColorNoData + ">表格中无数据!</font><p>";
else
{
for (int k = 0; k < DtRowsCount; k++)
{
DumpStr += " ( Row:<font color=" + ColorSerial + ">" + k + "</font> ) => ";
for (int j = 0; j < DtColumnsCount; j++)
{
string ColumnName = Dt.Columns[j].ColumnName.ToString();
string ColumnType = Dt.Columns[j].DataType.ToString();
DumpStr += " [" + j + "] <font color=" + ColorFieldName + ">" + ColumnName + "</font> ( <font color=" + ColorFieldType + ">" + ColumnType + "</font> ) => \"<font color=" + ColorFieldValue + ">" + Dt.Rows[k][ColumnName].ToString() + "</font>\"";
}
DumpStr += "<p>";
}
}
}
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion #region 直接在浏览器中输出二维数组
/// <summary>
/// 直接在浏览器中输出二维数组
/// </summary>
/// <param name="ObjArr">二维数组</param>
public static void DumpObjectArr2(object[] ObjArr)
{
if (ObjArr != null)
{
int ObjLength = ObjArr.Length;
DumpStr = DivRef + "数据类型:<font color=" + ColorDataType + ">Object数组</font> [ 数组中元素个数:<font color=" + ColorRowCount + ">" + ObjLength + "</font> ] <hr>";
for (int i = 0; i < ObjLength; i++)
{
DumpStr += " ( <font color=" + ColorSerial + ">" + i + "</font> ) ";
object Arri = ObjArr[i];
DumpStr += " ( ";
DumpStr += "<font color=" + ColorFieldType + ">" + Arri.GetType().ToString() + "</font>";
DumpStr += " ) ";
DumpStr += " => <font color=" + ColorFieldValue + ">\"" + Arri + "\"</font>";
}
}
HttpContext.Current.Response.Write(DumpStr + "</div>");
}
#endregion public static void DumpObjectArr(object[] ObjArr)
{
if (ObjArr != null)
{
HttpContext.Current.Response.Write(ObjArr.GetType());
}
}
}
}