一个实用的类,把DATATABLE中的内容用HTML的方式显示

在很多场合下有用
比如要发送一封Email给别人,这个Email里面的内容自然只能用HTML来写,如果涉及到数据显示的话,用这个会很方便

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// 其中z的值是自己定义的,表示你datatable中的字段数量,可以使用table.Columns.Count来替代,这样可以使得自动获取DATATABLE中的字段总数
/// </summary>

public class Tohtml
{
    
public string newhtml(DataTable table,int z)
    
{
    
int hang=table.Rows.Count;
        
        
string a = " <html> abc";

        a 
+= " <table> ";
        
for (int i = 0; i < hang; i++)
        
{
            a 
+= " <tr> ";
            
for (int j = 0; j < z; j++)
            
{
                a 
+= " <td> ";
                a 
+= table.Rows[i][j];
                a 
+= " </td> ";
            }

            a 
+= "</tr>";
        }

        a 
+= " </table> ";
        a 
+= " </html> ";
        
return a ;
    }

}

希望对大家有帮助
网友无常改进的代码
public string newhtml(DataTable table) 

int colcount = table.Columns.Count; 
StringBuilder sb 
= new StringBuilder(1024*5); 
sb.Append(
""); 
for (int i = 0, rowcount = table.Rows.Count; i < rowcount; i++

sb.Append(
" "); 
DataRow row 
= table.Rows[i]; 
for (int j = 0; j < colcount; j++

sb.Append(
" "); 
sb.Append(row[j]
==null?"":row[j].ToString()); 
sb.Append(
" "); 
}
 
sb.Append(
" 
"
); 
}
 
sb.Append(
" "); 
return sb.ToString(); 
}
 

这个类还可以写的更完善,比如具体定义那些字段输出(也许你可能只需要输出其中的几个字段而不是所有字段)
内容比较简单,应该都会改
posted @ 2008-02-06 18:04  NafLian  阅读(3974)  评论(3编辑  收藏  举报