0

テーブルにデータを表示するために ajax ソースを使用しています。テーブルの上に、テーブルに表示したいものをフィルタリングする基準があります。私が達成したいのは、初期データの読み込みを無効にすることです。そのため、ページが読み込まれると空のテーブルが表示され、条件を選択して [フィルターを適用] ボタンを押すと、データが読み込まれます。

だから私は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);
}
4

1 に答える 1

0

deferRender の代わりにdeferLoading機能に興味があるかもしれません。プレーンな DataTables を使用した例については、この投稿を参照してください。

残念ながら、Dandelion-Datatables はこの機能をまだサポートしていません。問題が記入されました。

Stackoverflow ルールで要求される免責事項: 私は Dandelion-Datatables の作成者です

于 2015-06-04T08:03:07.697 に答える