C# JQuery数据表向动态内容添加列类

C# JQuery数据表向动态内容添加列类,c#,jquery,jquery-datatables,C#,Jquery,Jquery Datatables,我有一个具有动态列的数据表 @foreach(Model.ColumnInfo中的变量项){ @Html.Raw(@item.ColumnHeader) } 编辑 我想在填充datatable之后设置列类型和列类 var table = $('#dt_basic').dataTable({ "pagingType": "full_numbers", "ajax": "@Url.Action("LoadResultGrid", "Verification

我有一个具有动态列的数据表


@foreach(Model.ColumnInfo中的变量项){
@Html.Raw(@item.ColumnHeader)
}
编辑
我想在填充datatable之后设置列类型和列类

    var table = $('#dt_basic').dataTable({
        "pagingType": "full_numbers",
        "ajax": "@Url.Action("LoadResultGrid", "Verifications", new { id = Model.RunId })",
        "deferRender": true,
        "bProcessing": true,
        "scrollX": "100%",
        "columnDefs": [
            {
                "targets": [0],
                "visible": false,
                "searchable": false
            },
            {
                "targets": [1],
                "searchable": true,
                "visible": true
            }
        ]
    });
Model.ColumnInfo是具有以下属性的对象列表:ColumnHeader、ColumnType、ColumnClass

因此,我需要在创建表后遍历列,并将列标题与Model.ColumnInfo.ColumnHeader匹配,然后将列类型设置为相应的Model.ColumnInfo.ColumnType,将列类设置为相应的Model.ColumnInfo.CoulmnClass


任何帮助都将不胜感激。谢谢。

我已经想出了如何解决我的问题,我想我会分享它,以防其他人有类似的问题

我添加了razor代码来生成javascript,该javascript将clasName属性动态添加到columndefs中

    var table = $('#dt_basic').dataTable({
        "pagingType": "full_numbers",
        "ajax": "@Url.Action("LoadResultGrid", "Verifications", new { id = Model.RunId })",
        "deferRender": true,
        "bProcessing": true,
        "scrollX": "100%",
        "columnDefs": [
            {
                "targets": [0],
                "visible": false,
                "searchable": false
            },
            @for(var i = 0; i < (Model.ColumnHeaders.Count); i++){
                if (Model.ColumnHeaders[i].ColumnClass != null)
                {
                    @: {"targets": [@i], "className": "@Model.ColumnHeaders[i].ColumnClass"},
                };
            }
        ]
    });
        "columnDefs": [
            {
                "targets": [0],
                "visible": false,
                "searchable": false
            },
                     {"targets": [5], "className": "do_rightalign"},
                     {"targets": [6], "className": "do_rightalign"},
                     {"targets": [7], "className": "do_rightalign"},
                     {"targets": [8], "className": "do_rightalign"},