【问题标题】:how to pass c# DataTable to jquery DataTable如何将 c# DataTable 传递给 jquery DataTable
【发布时间】:2019-09-30 14:30:45
【问题描述】:

我正在尝试将 c# DataTable 数据发送到 Jquery DataTable,但我不知道这怎么可能。 这是我的代码,但它不起作用。

  public JsonResult GetJsonBiltyList()
    {
        SqlDataAdapter sda = new SqlDataAdapter("SELECT o.*, (SELECT COUNT(*) FROM OrderVehicle_Clone WHERE OrderID = o.ID) AS Vehicles, (SELECT COUNT(*) FROM OrderConsignment_Clone WHERE OrderID = o.ID) AS Containers, (SELECT COUNT(*) FROM OrderProduct_Clone WHERE OrderID = o.ID) AS Products, (SELECT COUNT(*) FROM OrderDamage_Clone WHERE OrderID = o.ID) AS Damage, (SELECT COUNT(*) FROM OrderReimursable_Clone WHERE OrderID = o.ID) AS Reimursables, (SELECT COUNT(*) FROM OrderRecieveBy_Clone WHERE OrderID = o.ID) AS OrderRecieveBy_Clone FROM Order_Clone o", con);
        DataTable dt = new DataTable();
        sda.Fill(dt);
       // List<DataRow> SearchBiltyList = dt.AsEnumerable().ToList();
        //SearchBiltyDTO bilty = new SearchBiltyDTO();
        //bilty.PickUpLocation = dt.Rows[0]["PickUpLocation"].ToString();
        //bilty.DropLocation = dt.Rows[0]["DropLocation"].ToString();
        //bilty.Vehicles = Convert.ToInt64(dt.Rows[0]["Vehicles"]);
        //bilty.Containers = Convert.ToInt64(dt.Rows[0]["Containers"]);
        //bilty.Products = Convert.ToInt64(dt.Rows[0]["Products"]);
        //bilty.Damage = Convert.ToInt64(dt.Rows[0]["Damage"]);
        //bilty.Reimursables = Convert.ToInt64(dt.Rows[0]["Reimursables"]);

        return Json(new { data = dt.AsEnumerable().ToList() }, JsonRequestBehavior.AllowGet);
    }

【问题讨论】:

标签: jquery asp.net-mvc


【解决方案1】:

Script.js

jquery 数据表绑定示例代码。

var oTable = $("#tblProduct").DataTable({
    "serverSide": true,
    "sAjaxSource": "/Product/GetProductList",
    "filter": false,
    "orderMulti": false,
    "responsive": true,
    "iDisplayLength": 10,
    "iDisplayStart": 0,
    "language": {
        "url": LanguageUrl,
    },
    //send server parameter
    "fnServerParams": function (aoData) {
        aoData.push({ "name": "ProductCode", "value": $("#ProductCode").val() });
        aoData.push({ "name": "ProductDescription", "value": $("#ProductDescription").val() });

    },
    "aaSorting": [[0, "asc"]],
    "columns": [
        { "data": "ProductDimension", "orderable": false, },
        { "data": "ProductCategory", "orderable": true, },
        { "data": "CurrentStock", "orderable": true, },
        { "data": "InOrder", "orderable": true, },
        { "data": "Planned", "orderable": true, },
        { "data": "Required", "orderable": false },
        { "data": "WeightPerPiece", "orderable": true },
        {
            "data": "Archived", "orderable": false,
            "render": function (data, type, row) {
                return row.Archived == false ? "Active" : "Inactive";
            }
        }

    ],
});

这里是 .cshtml 代码

 <table id="tblProduct" class="table table-bordered table-striped" width="100%">
                        <thead>
                            <tr>
                                <th width="20%">@_Localizer["Product Code"]</th>
                                <th width="24%">@_Localizer["Description"]</th>
                                <th width="11%">@_Localizer["Product Dimension"]</th>
                                <th width="11%">@_Localizer["Product Category"]</th>
                                <th width="5%">@_Localizer["Stock"]</th>
                                <th width="7%">@_Localizer["In Order"]</th>
                                <th width="5%">@_Localizer["Planned"]</th>

                            </tr>
                        </thead>
                    </table>

希望对你有用

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多