2015-06-03 5 views
0

Я использую источник ajax для отображения данных на столе. Над моей таблицей у меня есть критерии для фильтрации того, что я хочу отобразить в таблице. То, что я хочу достичь, - отключить загрузку исходных данных, поэтому, когда страница загружена, я получу пустую таблицу, после того как я выберу критерии и нажмите кнопку «Применить фильтры», данные будут загружены.Dandelion DataTables deferRender не работает

Так что я пробовал использовать deferRender, но кажется, что он не работает. Вот код

<datatables:table id="myTableId" deferRender="true" url="/persons" serverSide="true" processing="true" dom="l0rtip" filterSelector="#filterButton" filterClearSelector="#filterClearButton"> 
    <datatables:column title="Id" name="id" property="id" /> 
    <datatables:column title="FirstName" name="firstName" property="firstName" /> 
    <datatables:column title="LastName" name="lastName" property="lastName" /> 
    <datatables:column title="City" name="city" property="address.town.name" filterable="true" filterCssClass="input-medium" /> 
    <datatables:column title="Mail" name="mail" property="mail" renderFunction="ajax#mailify" /> 
    <datatables:column title="Salary" name="salary" property="salary" renderFunction="custom-rendering#toCurrency" filterable="true" filterType="number_range" filterCssClass="input-small" /> 
    <datatables:column title="BirthDate" name="birthDate" property="birthDate" filterable="true" filterType="date_range" filterDateFormat="yyyy-mm-dd" renderFunction="custom-rendering,moment,bootstrap-datepicker#toDate" filterCssClass="input-small"/> 
    <datatables:column title="Company" name="company" property="company.name" filterable="true" filterCssClass="input-small" filterType="select" filterValues="filtering#predefinedValues" /> 
    <datatables:extraHtml uid="0" cssStyle="float:right;"> 
     <a id="filterButton" value="Filter" class="btn btn-primary">Apply filters</a> 
     <a id="filterClearButton" value="Filter" class="btn btn-inverse">Clear filters</a> 
    </datatables:extraHtml> 
    </datatables:table> 

на контроллере:

@RequestMapping(value = "/persons") 
public @ResponseBody 
DatatablesResponse<Person> findAllForDataTablesFullSpring(@DatatablesParams DatatablesCriterias criterias) { 
    DataSet<Person> dataSet = personService.findPersonsWithDatatablesCriterias(criterias); 
    return DatatablesResponse.build(dataSet, criterias); 
} 

ответ

0

Вы можете быть заинтересованы в deferLoading функции вместо deferRender. См. this post для примера с использованием простых данных.

К сожалению, Dandelion-Datatables еще не поддерживает эту функцию. issue has just been filled.

Отказ от ответственности требуется по правилам StackOverflow: Я автор одуванчик-DataTables

+0

да я имел в виду, что благодаря, но как я могу реализовать deferLoading? пожалуйста, дайте мне пример, основанный на данном коде. –