比如我有数据库某些表的实体类(序列化的)
目前已经能通过IList<实体类名> t=GetData() //GetData()是返回某数据表的所有行我如何通做一个通用类,实现各种<实体类名>所返回数据的相应格式的列印?列印就是通过<table><tr><td>....<table>之类的形式输出!
也就是说要实现各个表数据的相同形式html输出
目前已经能通过IList<实体类名> t=GetData() //GetData()是返回某数据表的所有行我如何通做一个通用类,实现各种<实体类名>所返回数据的相应格式的列印?列印就是通过<table><tr><td>....<table>之类的形式输出!
也就是说要实现各个表数据的相同形式html输出
{
public IList<T> GetData()
{
//code
}
}
//EX:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<DataOrder> lst = new List<DataOrder>(); DataOrder obj = new DataOrder();
obj.OrderDate = DateTime.Now;
obj.OrderNo = "OD2009_01";
lst.Add(obj); obj = new DataOrder();
obj.OrderDate = DateTime.Today;
obj.OrderNo = "OD2009_02";
lst.Add(obj); foreach (DataOrder o in lst)
{
Console.WriteLine(GetHtmlTable<DataOrder>(o, o.GetType()));
}
Console.Read();
}
static string GetHtmlTable<T>(T obj,Type t)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("<tr>");
foreach (FieldInfo pinfo in t.GetFields())
{
sb.Append("<td>");
sb.Append(pinfo.GetValue(obj));
sb.Append("</td>");
}
sb.AppendLine("");
sb.Append("</td>");
return sb.ToString();
}
} //EX:
class DataOrder //你的实体类名
{
public string OrderNo;
public DateTime OrderDate;
}
}
她和html的表单结合,你搞的太复杂了。
你的方法在用js实现其不比 泛型好用的多了。因为js定义的时候不用类型。然后把们组合到数组里 遍历判断 可否?
在企业管理器或者查询分析器里面的任意一张表的所有内容
在HTML页面里面用表格形式显示。
还是用一个通用类将所有表的特征全部抽象出来?
看了您的描述我还是不明白您要做啥?
IList<datatableInfo> bI=dal.GetCategories();我的数据都是类以上形式获取的我就想用一个通用类返回相应数据表的HTML,就是通过该类给数据做模板的套用关键在如何把上面的bI传到类方法中,并且遍历生成