Использование Select с фильтрацией столбцов datatables и обработкой на стороне сервера MVC

Я работаю над проектом, используя таблицы данных плагина JQuery и платформу .NET MVC3. Я использую контроллер AJAX для обработки на стороне сервера. Я также использовал плагин datatables «columnfiltering» для фильтрации отдельных столбцов. Он отлично работает с текстовыми входами и диапазонами чисел. У меня проблема с выбором, хотя. Я могу заставить поле выбора отображаться, и я даже знаю, как дать ему определенные параметры таким образом.

 $('#example').dataTable()
      .columnFilter({
        aoColumns: [ { type: "select", values: [ 'Gecko', 'Trident', 'KHTML', 'Misc', 'Presto', 'Webkit', 'Tasman']  }
    });

Но я хочу, чтобы выбор автоматически заполнялся из данных в таблице. Есть ли способ сделать это, я знаю, что могу просто создать еще один контроллер ajax и использовать JQuery, чтобы поразить этот контроллер, чтобы получить нужные мне данные, но я бы предпочел обернуть его в контроллер таблицы, который у меня уже есть. Спасибо!


person Eric    schedule 23.05.2012    source источник


Ответы (1)


Вы можете использовать fnServerParams, если вы возвращаете json из контроллера MVC следующим образом:

return Json(new
{
    param.sEcho,
    iTotalRecords = baseqry.TotalRecordCount,
    iTotalDisplayRecords = baseqry.TotalRecordCount,
    aaData = result,
    selectListData = MySelectlistData
}, JsonRequestBehavior.AllowGet);

Где aaData — это данные для заполнения таблицы данных, а selectListData — это данные для списка выбора.

В коде инициализации с данными вы получаете значение selectListData следующим образом:

"fnServerData": function (sSource, aoData, fnCallback) {
    $.getJSON(sSource, aoData, function (json) {
        var selectlist = json.selectListData;
    }
    fnCallback(json); // this call populates the datatable
});
person markpsmith    schedule 16.02.2015