The table is in modal form

14 views
Skip to first unread message

MadSmol Qwert

unread,
Apr 10, 2025, 6:03:49 AMApr 10
to ZnetDK
Pascal, hello! Unfortunately, after finding information on displaying the table in a modal form on the forum, nothing worked out for me. Only the modal form is displayed when opening and the buttons, the table is not displayed. Can you tell me how to correctly display a table with data in a modal form? I would be very grateful.

ZnetDK

unread,
Apr 12, 2025, 10:00:19 AMApr 12
to ZnetDK
Hello,

Be sure the CSS class zdk-synchronize is not set for the datatable.
Otherwise, post your source code if you want more help.

Sincerely,
Pascal

MadSmol Qwert

unread,
Apr 14, 2025, 5:39:51 AMApr 14
to ZnetDK
Pascal, hello!
zdk-synchronize -  disabled.
The table is not displayed in the modal form.

[view]
<button class="zdk-bt-custom" id="btn_modal_form1" title="TestModalFrom">Test Modal</button>
<script>
$('#btn_modal_form1').on('click', function (event) {
var beforeShow = function(dialogElement) { /*alert('Before...'); */},
afterShow = function(dialogElement) { /*alert('After...'); */}
znetdk.showModalDialog('modal_form1', 'rozreport', beforeShow, afterShow);
});
</script>

<div id="modal_form1" class="zdk-modal" title="mytitle" data-zdk-width="560px">
<form class="zdk-form"
        data-zdk-action="roznicactrl:save"
        data-zdk-datatable="table_roznica2">
<div id="table_roznica2" class="zdk-datatable" data-zdk-cols-resize="true" title="Розница"
data-zdk-action="roznicactrl:data"
data-zdk-columns='[
{"field":"service", "headerText": "Service"}
]'>
</div>
        <button class="zdk-bt-save zdk-close-dialog" type="submit">Save</button>
        <button class="zdk-bt-cancel zdk-close-dialog" type="button">Cancel</button>
    </form>
</div>

[controller]
...
        $request = new \Request();
$criteria = json_decode($request->search_criteria, TRUE);
if (is_array($criteria)) {
$modelVal = $criteria['model'];
$snVal = $criteria['sn'];
$firmaVal = $criteria['firma'];
$adresVal = $criteria['adres'];
$place_of_settlementVal = $criteria['place_of_settlement'];
$directionVal = $criteria['direction'];
$current_malfunctionVal = $criteria['current_malfunction'];
   };
        $first = $request->first; $rows = $request->rows;
    
        $sortField = $request->sortfield; $sortOrder = $request->sortorder;
        $sortCriteria = is_null($sortField) ? 'firma' : $sortField . (is_null($sortOrder) ? ' ASC' : $sortOrder == 1 ? ' ASC' : ' DESC');
    
        $criteria = $request->search_criteria;
        $keyword = '%' . $criteria . '%';
        $response = new \Response();
        $RoznicaDAO = new \app\model\roznicadao();
$RoznicaDAO->setKeywordAsFilterTemporary2(
$snVal,
$modelVal,
$firmaVal,
$adresVal,
$place_of_settlementVal,
$current_malfunctionVal,
$directionVal
);
        $roznicaFound = array();
        try {
            $response->total = $RoznicaDAO->getCount();
            $RoznicaDAO->setSortCriteria($sortCriteria);
            $RoznicaDAO->setLimit($first, $rows);

            while($row = $RoznicaDAO->getResult()) {
                $roznicaFound[] = $row;
            }
            $response->rows = $roznicaFound;
            $response->success = TRUE;
        } catch (\PDOException $ex) {
            $response->setFailedMessage("Request data", "Unable to request the products (error '" . $ex->getCode() . "')");
        }
        return $response;

[model]
public function setKeywordAsFilterTemporary2($filter2_sn,$filter2_model_eq,$filter2_firma,$filter2_actual_address,$filter2_place_of_settlement,$filter2_current_malfunction,$filter2_direction) {
...
$this->filterClause  =    
" WHERE sn REGEXP ?"
. " AND LOWER(model_eq) REGEXP LOWER(?)"
. " AND LOWER(firma) REGEXP LOWER(?)"
. " AND LOWER(actual_address) REGEXP LOWER(?)"
. " AND LOWER(place_of_settlement) REGEXP LOWER(?)"
. " AND LOWER(current_malfunction) REGEXP LOWER(?)"
. " AND LOWER(direction) REGEXP LOWER(?)";

    $this->setFilterCriteria($filter2_sn,$filter2_model_eq,$filter2_firma,$filter2_actual_address,$filter2_place_of_settlement,$filter2_current_malfunction,$filter2_direction);
    }
суббота, 12 апреля 2025 г. в 17:00:19 UTC+3, ZnetDK:

ZnetDK

unread,
Apr 22, 2025, 4:06:40 PMApr 22
to ZnetDK
Hi,
You have to instantiate explicitly your Datatable by adding the highlighted line in yellow as below:

<script>
$('#btn_modal_form1').on('click', function (event) {
var beforeShow = function(dialogElement) { /*alert('Before...'); */},
afterShow = function(dialogElement) { /*alert('After...'); */}
znetdk.showModalDialog('modal_form1', 'rozreport', beforeShow, afterShow);
});
               $('#table_roznica2').zdkdatatable();
</script>

Regards,
Pascal
Le jeudi 10 avril 2025 à 12:03:49 UTC+2, mads...@gmail.com a écrit :
Reply all
Reply to author
Forward
0 new messages