我有一个存储过程stp_GetContractBillingDetailReportEquinoxByResultGrouping_Vivek
,它提供了动态数据。数据的列可能根据开始日期和结束日期参数而不同。例如:-如果开始日期参数为1/1/2018
,结束日期参数为31/1/2018
,则结果仅提供一列,即2018年1月。类似地,如果开始日期参数为1/1/2018
,结束日期参数为31/12/2019
结果提供了从2018年1月到2019年12月的24列。现在,我创建了DataTable,该数据表必须返回所有列表才能在View中显示。如何将该列表返回到控制器视图?
我的控制器代码是:
[HttpPost]
public async Task<IActionResult> GetContractBillingList([FromBody] ContractBillingExportToExcelSearchViewModel model)
{
var contractBillingList =
ReportService.DatatableContractBilling(model);
return Ok(contractBillingList);
}
我的c#服务代码为:
public DataTable DatatableContractBilling(ContractBillingExportToExcelSearchViewModel model)
{
StringBuilder strSQL = new StringBuilder();
strSQL.AppendFormat(@"stp_GetContractBillingDetailReportEquinoxByResultGrouping_Vivek");
SqlParameter[] _parameters = new SqlParameter[2];
_parameters[0] = new SqlParameter("@PeriodStart", model.FromDate);
_parameters[1] = new SqlParameter("@PeriodEnd", model.ToDate);
DataTable dt = _dapperRepository.ExecuteDataTableProc(strSQL.ToString(), _parameters);
return dt;
}
答案 0 :(得分:0)
您可以像
那样遍历DataTable
<table>
<tr>
@foreach (System.Data.DataColumn column in Model.Columns)
{
<th>
@column.ColumnName
</th>
}
</tr>
<tbody>
@foreach (System.Data.DataRow row in Model.Rows)
{
<th>
@foreach (var cell in row.ItemArray)
{
@cell.ToString();
}
</th>
}
</tbody>
</table>