菜鸟中的菜

导航

怎么获取一个类型的所有字段的名字 和获取给予数据相应的值

下面的代码你只要注意  怎么样获取字段名和相应数据的值就OK了其它的就不要管

View Code
public FlexiGridData GetFlexiGridData<T>(PageView view,List<T>list)
{
List<T> newlist = list.Skip(view.PageSize * (view.PageIndex - 1)).Take(view.PageSize).ToList();
//获取你传入的一个类型的所有字段名
string[] columnNames = typeof(T).GetProperties().Select(p => p.Name).ToArray();
//创建表格
DataTable dt = new DataTable();
DataColumn[] arrDc = new DataColumn[columnNames.Length];
int i = 0;
foreach (var item in columnNames)
{
DataColumn dc= new DataColumn(item.ToString(),typeof(string));
arrDc[i] = dc;
i++;
}
dt.Columns.AddRange(arrDc);
foreach (var item in newlist)
{
DataRow dr = dt.NewRow();
foreach (var item1 in columnNames)
{
//通过循环一个类的字段获取你给的一个数据中相应字段的值 数据只能是单条的
dr[item1.ToString()] = typeof(T).GetProperty(item1).GetValue(item, null) ?? string.Empty;
}
dt.Rows.Add(dr);
}
return new GetDataHelper().GetFlexiGridData(view,dt,list.Count);
}

 

posted on 2011-12-04 23:28  菜中菜  阅读(402)  评论(0编辑  收藏  举报