首页 > 解决方案 > 如何将动态列表从 DataTable 返回到从控制器查看?

问题描述

我有一个stp_GetContractBillingDetailReportEquinoxByResultGrouping_Vivek提供动态数据的存储过程。根据开始日期和结束日期参数,数据的列可能不同。例如:- IF start Date Parameter is 1/1/2018and End Date Parameter is31/1/2018结果仅提供一列 January 2018。同样,IF start Date Parameter is 1/1/2018and End Date Parameter is31/12/2019结果提供 24 Col 从 2018 年 1 月到 2019 年 12 月。现在我有创建了必须返回所有列表才能在视图中显示的 DataTable。如何将此列表返回到从控制器查看?

我的控制器代码是:

[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;

        }

标签: c#asp.net-coredatatable

解决方案


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>

推荐阅读