首页 > 解决方案 > 如何将 C# DataTable 绑定到 JQUERY DataTable?

问题描述

我想将 Excel 工作表中的数据表绑定到 Jquery 数据表。我的目标是动态绑定数据表的所有列。我不知道如何动态绑定列。

C# 和 Jquery 是代码库

在这段代码中,我从 excel 表中获取数据作为数据表

区域数据验证

    public DataTable DataValidation(string dataExchangeSelectedColum, string entityvalue,string filename)
    {
        UA patsUA = Session["PaTSUA"] as UA;
        //List<DataExchangeDefinitionViewModel> dataExchangeDefinitionListVM = _mapper.MapToDataExchangeDefinitionViewModelList(_dataExchangeBusiness.ValidateDataType(dataExchangeSelectedColum, entityvalue, filename, patsUA.DBConnectionString));
        DataTable dataTable = _dataExchangeBusiness.DataValidation(dataExchangeSelectedColum, entityvalue, filename, patsUA.DBConnectionString);
        return dataTable;
    }
    #endregion DataValidation

我想将上面的DataTable绑定到jquery Datatable中。上述数据表可能会有所不同,即列在不同情况下会有所不同。所以列必须动态绑定。

标签: c#jquerydatatable

解决方案


在我的控制器中进行一个小改动并创建一个局部视图并将该局部视图加载到一个 div 中

这是代码

控制器

#region DataValidation

    public ActionResult DataValidation(string dataExchangeSelectedColum, string entityvalue,string filename)
    {
        UA patsUA = Session["PaTSUA"] as UA;
        DataTable dataTable = null;
         dataTable = _dataExchangeBusiness.DataValidation(dataExchangeSelectedColum, entityvalue, filename, patsUA.DBConnectionString);


        return PartialView("_ExcelDataTable", dataTable);
    }
    #endregion DataValidation

创建了一个局部视图。来玩了

@model System.Data.DataTable
@using System.Data;
@{
    IEnumerable<DataRow> _excelDataRowList = from dataRow in Model.AsEnumerable() select dataRow;
}
<div class="table-responsive tableScroll">
    <table id="data-table-basic" class="table table-striped">
        <thead>
            @foreach (DataColumn col in Model.Columns)
            {
                <tr>
                    @col.Caption.ToString()
                </tr>
            }
        </thead>
        <tbody>
            @foreach (DataColumn dtCol in Model.Columns)
            {
                <tr>
                    @foreach (DataRow row in _excelDataRowList)
                    {
                        <td>
                            @row[dtCol]
                        </td>
                    }

                </tr>
            }
        </tbody>
    </table>
</div>

我将此部分视图加载到要显示表格的 div 中


推荐阅读