//表头实体:Kj_Order_Raw_Head
//表体实体:Kj_Order_Raw_List
//数据源
DataTable dt ;
//拆分后的表头
DataTable DtHead ;
//拆分后的表体
DataTable DtBody ;
public void SplitDataTable(DataTable dt, out DataTable DtHead, out DataTable DtBody)
{
//拆分后的表头
DtHead = new DataTable();
var head_pros = new Kj_Order_Raw_Head().GetType().GetProperties();
foreach (PropertyInfo item in head_pros)
{
DtHead.Columns.Add(item.Name, item.PropertyType);
}
//拆分后的表体
DtBody = new DataTable();
var body_pros = new Kj_Order_Raw_List().GetType().GetProperties();
foreach (PropertyInfo item in body_pros)
{
DtBody.Columns.Add(item.Name, item.PropertyType);
}
//赋值
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow NewHeadRow = DtHead.NewRow();
DataRow NewBodyRow = DtBody.NewRow();
for (int j = 0; j < dt.Columns.Count; j++)
{
string ColumnName = dt.Columns[j].ColumnName;
if (DtHead.Columns.Contains(ColumnName))
{
NewHeadRow[ColumnName] = dt.Rows[i][ColumnName];
}
if (DtBody.Columns.Contains(ColumnName))
{
NewBodyRow[ColumnName] = dt.Rows[i][ColumnName];
}
}
DtHead.Rows.Add(NewHeadRow);
DtBody.Rows.Add(NewBodyRow);
}
}
C# 根据实体将DataTable拆分成表头表体
最新推荐文章于 2024-11-09 16:00:26 发布
该篇文章介绍了如何在C#中通过`SplitDataTable`方法,将大数据表格`DataTable`拆分为单独的表头`Kj_Order_Raw_Head`和表体`Kj_Order_Raw_List`,并详细展示了数据列的添加和行数据的复制过程。
摘要由CSDN通过智能技术生成