Хитрость заключается в том, чтобы получить данные JSON columnFilters и использовать их для заполнения раскрывающегося списка.
Итак, вы меняете:
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>)
} );
Кому:
var json = buDueTable.ajax.json();
var filterData = json.columnFilters.Data_DT_Filters;
if (filterData != null)
{
var columnIdx = column.index();
var thisFilterdata = filterData[columnIdx];
if (thisFilterdata != null)
{
for(var j = 0; j < thisFilterdata.length; j++) {
select.append('<option value="' + thisFilterdata[j].filterItem + '">' + thisFilterdata[j].filterItem + '</option>')
}
}
}
В моем примере я использую класс IList с IList другого класса, переданного в процедуру для форматирования данных JSON.
В первом классе свойство называется Data_DT_Filters, а во втором классе свойство называется filterData, а отдельное свойство в нем - filterItem
.
Надеюсь, это поможет другим, пытающимся решить эту проблему.