.net项目中,使用cshtml 做报表时,前端页面需要的数据格式是DataTable格式,
遂在后台方法将调用接口获取的 List集合数据转换为想要的DataTable 并指定列名
/// <summary>
/// 将List集合类转换成DataTable
/// </summary>
/// <param name="list">集合</param>
/// <returns></returns>
public DataTable ToDataTableTow(List<StockModel> list)
{
//创建一个DataTable
DataTable dt = GetDataTableName();
if (list.Count > 0)
{
foreach (StockModel stock in list)
{
// 创建一个新行
DataRow newRow = dt.NewRow();
// 设置新行的列值
newRow["店铺名称"] = stock.zcompanyname;
newRow["供应商名称"] = stock.suppliername;
newRow["库存地点"] = stock.stockunitname;
newRow["单据编号"] = stock.djno;
newRow["品牌"] = stock.brandname;
newRow["型号"] = stock.sortname;
newRow["颜色"] = stock.colorname;
newRow["物料号"] = stock.matnr;
newRow["物料名称"] = stock.matnrname;
newRow["批次号"] = stock.zcmsno;
newRow["单价"] = stock.dc_price;
newRow["币别"] = stock.currency;
newRow["库存数量"] = stock.kcqty;
newRow["占用库存"] = stock.occupyqty;
newRow["可用库存"] = stock.cansaleqty;
newRow["库龄"] = stock.storageage;
// 将新行添加到DataTable中
dt.Rows.Add(newRow);
}
}
return dt;
}
//创建一个DataTable ,并指定列名
DataTable GetDataTableName()
{
DataTable dt = new DataTable();
dt.Columns.Add("店铺名称");
dt.Columns.Add("供应商名称");
dt.Columns.Add("库存地点");
dt.Columns.Add("单据编号");
dt.Columns.Add("品牌");
dt.Columns.Add("型号");
dt.Columns.Add("颜色");
dt.Columns.Add("物料号");
dt.Columns.Add("物料名称");
dt.Columns.Add("批次号");
dt.Columns.Add("单价");
dt.Columns.Add("币别");
dt.Columns.Add("库存数量");
dt.Columns.Add("占用库存");
dt.Columns.Add("可用库存");
dt.Columns.Add("库龄");
dt.AcceptChanges();
return dt;
}