Программное заполнение комбо-боксов в BootstrapTable - PullRequest
0 голосов
/ 28 октября 2018

Я успешно использую серверную опцию BootstrapTable с Bootstrap V4 и jsp

  <table class="table table-condensed table-bordered table-hover" id="position-list"
    data-toggle="table"
    data-url="/pages/positions/p_getRows.jsp"
    data-side-pagination="server"
    data-filter-control="true"
    data-pagination="true" 
    data-click-to-select="true"
    data-id-field="id"
    data-page-list="[10, 25, 50, 100, ALL]"
    data-show-footer="false"   
    data-minimum-count-columns="2"                           
    data-pagination="true"                           
    >
    <thead>
       <tr>
          <th data-sortable="true" data-field="Status" data-filter-control="select">Status</th>
          ...
       </tr>
    </thead>
    <tbody>
    </tbody>
  </table>

Вот пример p_getRows.jsp ajax

int fromPos=SecurityIssues.StringToInt(request.getParameter("offset"));
int limit=SecurityIssues.StringToInt(request.getParameter("limit"));

//simplified for illustration purposes
String sqlQuery="SELECT * from (select *,row_number() over (order by position_no) as RowNum from ("+...sql for all positions...+")b )  a where a.rowNum between "+fromPos+" and "+(fromPos+limit);
int numPos=...//number of total positions
%>
{
   "total":<%=numPos%>,
    "rows":[   

<% 
for (Row r:listRows) {%>

    {
        "Status":"<%=r.getStatus()%>",

На данный моментполе со списком «Status» заполняется данными, которые «видит» BootstrapTable.(Т. Е. Чем больше пользователь перемещается по таблице, тем больше значений будет содержать поле со списком)

Как программно установить поле со списком «Состояние» со списком предопределенных значений?

1 Ответ

0 голосов
/ 06 ноября 2018

«Взломать» решение - получить доступ к раскрывающемуся списку напрямую через jquery

$('.form-control.bootstrap-table-filter-control-status')

(замена «status» именем нужного заголовка столбца)

Тогда можно сделать

 $('.form-control.bootstrap-table-filter-control-status').html('
<OPTION value="A">A</OPTION><OPTION value="B">B</OPTION>');

(или что угодно)

Я надеялся на что-то более элегантное, возможно, используя методы таблицы начальной загрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...