有时,我会在代码的断点处,希望查看DataTable
变量(或DataSet
中的DataTable
)的内容。快速表不能给你一个非常清晰的内容视图。如何才能轻松查看它们?
发布于 2009-01-29 13:40:02
Visual Studio调试器附带四个标准的可视化工具。它们是文本、超文本标记语言和可扩展标记语言可视化工具,所有这些可视化工具都适用于string对象,而DataSet可视化工具则适用于dataset、DataView和DataTable对象。
要使用它,请进入您的代码,将鼠标悬停在您的DataSet上,展开快速查看,查看表格,展开表格,然后查看表格0。您将在快速查看中看到类似{Table1}的内容,但请注意,还有一个放大镜图标。单击该图标,您的DataTable将在网格视图中打开。
发布于 2009-01-29 13:25:44
我所做的是在我的项目中有一个包含以下代码的静态类:
#region Dataset -> Immediate Window
public static void printTbl(DataSet myDataset)
{
printTbl(myDataset.Tables[0]);
}
public static void printTbl(DataTable mytable)
{
for (int i = 0; i < mytable.Columns.Count; i++)
{
Debug.Write(mytable.Columns[i].ToString() + " | ");
}
Debug.Write(Environment.NewLine + "=======" + Environment.NewLine);
for (int rrr = 0; rrr < mytable.Rows.Count; rrr++)
{
for (int ccc = 0; ccc < mytable.Columns.Count; ccc++)
{
Debug.Write(mytable.Rows[rrr][ccc] + " | ");
}
Debug.Write(Environment.NewLine);
}
}
public static void ResponsePrintTbl(DataTable mytable)
{
for (int i = 0; i < mytable.Columns.Count; i++)
{
HttpContext.Current.Response.Write(mytable.Columns[i].ToString() + " | ");
}
HttpContext.Current.Response.Write("<BR>" + "=======" + "<BR>");
for (int rrr = 0; rrr < mytable.Rows.Count; rrr++)
{
for (int ccc = 0; ccc < mytable.Columns.Count; ccc++)
{
HttpContext.Current.Response.Write(mytable.Rows[rrr][ccc] + " | ");
}
HttpContext.Current.Response.Write("<BR>");
}
}
public static void printTblRow(DataSet myDataset, int RowNum)
{
printTblRow(myDataset.Tables[0], RowNum);
}
public static void printTblRow(DataTable mytable, int RowNum)
{
for (int ccc = 0; ccc < mytable.Columns.Count; ccc++)
{
Debug.Write(mytable.Columns[ccc].ToString() + " : ");
Debug.Write(mytable.Rows[RowNum][ccc]);
Debug.Write(Environment.NewLine);
}
}
#endregion
然后,我将在“即时”窗口中调用上述函数之一,结果也会出现在那里。例如,如果我想查看变量'myDataset‘的内容,我将调用printTbl(myDataset)。按回车键后,结果将打印到“即时”窗口。
发布于 2009-01-29 13:34:02
试一试Xml Visualizer。我还没有尝试过最新的版本,但是在Visual Studio2003中没有以前的版本我就不能工作。
除了分层显示DataSet之外,还有许多其他方便的功能,比如过滤和选择您想要查看的RowState。
https://stackoverflow.com/questions/491555
复制相似问题