Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - dtag1000

Pages: [1]
1
Help for ParamQuery Pro / Re: Trying to update cell after form submitted
« on: November 22, 2017, 12:55:13 am »
Thanks!

Also, can you make a youtube tutorial series? I can make it for you if you give permission.


2
Help for ParamQuery Pro / Re: Trying to update cell after form submitted
« on: November 21, 2017, 11:42:52 pm »
And then Im trying to update a database automatically. The demo you provided only updates a table.


3
Help for ParamQuery Pro / Re: Trying to update cell after form submitted
« on: November 21, 2017, 11:21:05 pm »
Ive been using 4.0.2 but copying and pasting from the examples, and adding in custom functions.

4
Help for ParamQuery Pro / Trying to update cell after form submitted
« on: November 21, 2017, 02:37:23 am »
Hello,

My code below echo's out the table in JSON format. Then beside each row, it shows a edit button. When the edit button is clicked, then a modal pops up with the information row. When I hit submit, it makes a ajax request to my database. I want to have the cell show the update, without refreshing the page.

Code: [Select]
   $(function () {
   
         function filterRender(ui) {
               var val = ui.cellData,
                   filter = ui.column.filter;
               if (filter && filter.on && filter.value) {
                   var condition = filter.condition,
                       valUpper = val.toUpperCase(),
                       txt = filter.value,
                       txt = (txt == null) ? "" : txt.toString(),
                       txtUpper = txt.toUpperCase(),
                       indx = -1;
                   if (condition == "end") {
                       indx = valUpper.lastIndexOf(txtUpper);
                       //if not at the end
                       if (indx + txtUpper.length != valUpper.length) {
                           indx = -1;
                       }
                   }
                   else if (condition == "contain") {
                       indx = valUpper.indexOf(txtUpper);
                   }
                   else if (condition == "begin") {
                       indx = valUpper.indexOf(txtUpper);
                       //if not at the beginning.
                       if (indx > 0) {
                           indx = -1;
                       }
                   }
                   if (indx >= 0) {
                       var txt1 = val.substring(0, indx);
                       var txt2 = val.substring(indx, indx + txt.length);
                       var txt3 = val.substring(indx + txt.length);
                       return txt1 + "<span style='background:yellow;color:#333;'>" + txt2 + "</span>" + txt3;
                   }
                   else {
                       return val;
                   }
               }
               else {
                   return val;
               }
           }
    function post_edit(){
var form = document.getElementById('edit-form');
var action = form.getAttribute('action');
var form_data = new FormData(form);
for([key, value] of form_data.entries()){
console.log(key + ": " + value);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', action, true);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
var result = xhr.responseText;

                }

          };
        console.log(form_data);
        xhr.send(form_data);
    var text = $('input#filter_box').val();
localStorage.setItem("text", text);
location.reload();






      }
   
         function filterhandler() {
   
               var $toolbar = this.toolbar(),
                   $value = $toolbar.find(".filterValue"),
                   value = $value.val(),
                   condition = $toolbar.find(".filterCondition").val(),
                   dataIndx = $toolbar.find(".filterColumn").val(),
                   filterRules;
   
               if (dataIndx == "") {//search through all fields when no field selected.
                   filterRules = this.getColModel().map(function(column){                                   
                       return { dataIndx: column.dataIndx, condition: condition, value: value };
                   })
               }
               else {//search through selected field.
                   filterRules = [{ dataIndx: dataIndx, condition: condition, value: value}];
               }
               this.filter({
                   oper: 'replace',
                   rules: filterRules
               });
           }
   
   
           function addhandler(evt, ui) {
            $("#addPage").modal("show");
           }
           function editRow(k, grid, edit) {
               $("#edit_advertiser").modal("show");
               var rowData =  $("#grid_crud-remote").pqGrid( "getRowData", { rowIndx: k } );
               $("#key").val(rowData.AdvertiserKey);
               $('#name').val(rowData.name);
               $('#click_me').on('click', $('#ajax-submit'), post_edit);


               

           }
           function _getSelection() {
               var selection = $grid.pqGrid("selection", { type: 'row', method: 'getSelectionCurPage' });
               if (selection.length > 0) {
                   var rowIndx = selection[0].rowIndx;
                   return rowIndx;
               }
               else {
                   alert("Please select a row");
                   return null;
               }
           }
           function edithandler(evt, ui) {
               var rowIndx = _getSelection();
               if (rowIndx != null) {
                   $grid.pqGrid("openEditForm", { rowIndx: rowIndx, title: "Edit Customer ({0})" });
                   $grid.one("pqgridload", function (evt, ui) {
                       //alert("loaded once");
                       $grid.pqGrid("setSelection", { rowIndx: rowIndx });
                   }); ;
               }
           }
           function deletehandler(evt, ui) {
               var rowIndx = _getSelection();
               if (rowIndx != null) {
                   $grid.pqGrid("deleteRow", { rowIndx: rowIndx });
               }
           }
           //define editor
           function customerIdEditor(ui) {
               var oper = ui.oper,
                   cls = ui.cls,
                   dataIndx = ui.dataIndx,
                   readonly = "";
   
               if (oper == "edit") {
                   readonly = "readonly='true'";
               }
               return "<input id='filter_input' type='text' " + readonly + " class='" + cls + "' maxlength=5 size=5 name='" + dataIndx + "' />";
           }
           //override the addRow method of pqToolbarCrud
           $.paramquery.pqGrid.prototype.addRow = function (obj) {
               var $grid = this.element,
                   rowData = obj.rowData;
               //$grid = $toolbar.closest(".pq-grid");
               rowData["pq_oper"] = "add";
               $grid.pqGrid("option", "dataModel.postDataOnce", rowData);
           }
           //override the editRow method of pqToolbarCrud
           //debugger;
           $.paramquery.pqGrid.prototype.updateRow = function (obj) {
               //alert("edit row");
               //debugger;
               var $grid = this.element,
                   rowData = obj.rowData;
               //$grid = $toolbar.closest(".pq-grid");
               rowData["pq_oper"] = "edit";
               $grid.pqGrid("option", "dataModel.postDataOnce", rowData);
           }
   
           var colM = [
   { title: "name", width: 500, dataIndx: "name"},
               { title: "AdvertiserKey", width: 140, dataIndx: "AdvertiserKey", align: "center" },
               { title: "", editable: false, minWidth: 90, sortable: false,
               render: function (ui) {
                   return "<button type='button' class='edit_btn'>Edit</button>";
               },
               postRender: function (ui) {
                    var rowIndx = ui.rowIndx,
                    grid = this,
                    $cell = grid.getCell(ui);
   
                $cell.find(".edit_btn")
                .bind("click", function (evt) {
                   editRow(rowIndx, grid);
                });
   
                //if it has edit class, then edit the row.
                if (grid.hasClass({ rowData: ui.rowData, cls: 'pq-row-edit' })) {
                    editRow(rowIndx, grid);
                }
   
               }
           }
    ];
   
    <?php $db->advertisers_table(); ?>

           var dataModel = {
            data: data
           }
           var newObj = {

   width: "1000px",
               flexHeight: true,
               flexWidth: "100%",
               pageModel: { type: "local", rPP: 50, rPPOptions: [11, 20, 50, 100] },

               postRenderInterval: -1,

               dataModel: dataModel,
               colModel: colM,
               selectionModel: { mode: 'single' },
               toolbar: {
   
                   cls: 'pq-toolbar-crud',
                   items: [
                                   {
                           type: 'textbox',
                           label: 'Filter: ',
                           attr: 'placeholder="Enter your keyword"',
   attr: 'id=filter_box',
                           cls: "filterValue",
                           listener: { keyup: filterhandler }
                       },
                       { type: 'button', label: 'Add Advertiser',  icon: 'ui-icon-plus', listeners: [{ click: addhandler}] },
                       {
                       type: 'select',
                       label: 'Format: ',               
                       attr: 'id="export_format"',
                       options: [{csv: 'Csv', htm: 'Html', json: 'Json'}]
                   },
   
                       {type: 'button', label: "Export", icon: 'ui-icon-document', listener: function () {
                               var format = $("#export_format").val(),                           
                               blob = this.exportData({
                                   //url: "/pro/demos/exportData",
                                   format: format,                               
                                   render: true
                               });
                           if(typeof blob === "string"){                           
                               blob = new Blob([blob]);
                           }
                           saveAs(blob, "pqGrid."+ format );
                       }
                   },{
                           type: 'select', cls: "filterColumn",
                           listener: filterhandler,
                           options: function (ui) {                           
                               var opts = [];
                               this.getColModel().forEach(function(column){                               
                                   var obj = {};
                                   obj[column.dataIndx] = column.title;
                                   opts.push(obj);
                               })
                               return opts;
                           }
                       },
                       {
                           type: 'select',                         
                           cls: "filterCondition",
                           listener: filterhandler,
                           options: [
                               { "begin": "Begins With" },
                               { "contain": "Contains" },
                               { "end": "Ends With" },
                               { "notcontain": "Does not contain" },
                               { "equal": "Equal To" },
                               { "notequal": "Not Equal To" },
                               { "empty": "Empty" },
                               { "notempty": "Not Empty" },
                               { "less": "Less Than" },
                               { "great": "Great Than" },
                               { "regexp": "Regex" }
                           ]
                       }
   
                   ]
               },
               editable: true,
               scrollModel: { horizontal: false },
               title: "Advertisers",
               columnBorders: true
           };
   
   
           var $grid = $("#grid_crud-remote").pqGrid(newObj);
   $grid.pqGrid( 'option', 'dataModel.data', data );
   
   var $pqPager = $("#grid_crud-remote").find(".pq-pager").pqPager();


   
       });

5
Help for ParamQuery Pro / Re: Styling like the demo
« on: November 18, 2017, 12:30:41 am »
I added all of the style sheets, but it still does not look like the demo.


6
Help for ParamQuery Pro / Re: Styling like the demo
« on: November 16, 2017, 02:09:21 am »
This is what i want

https://imgur.com/a/bkwIh

This is what i have

https://imgur.com/a/Wp44M


7
Help for ParamQuery Pro / Re: Styling like the demo
« on: November 14, 2017, 03:29:16 am »
Hello,

I tried the flex height, and this did not do anything. I want the exact styling of the one in the demo. How can I get this??


8
Help for ParamQuery Pro / Implementing Crud with dialog box
« on: November 10, 2017, 11:10:10 pm »
Hello,

This function is causing an error:
    function getRowIndx() {
            var arr = $grid.pqGrid("selection", { type: 'row', method: 'getSelection' });
            if (arr && arr.length > 0) {
                return arr[0].rowIndx;                               
            }
            else {
                alert("Select a row.");
                return null;
            }


im getting this error:
Uncaught Error: no such method 'selection' for pqGrid widget instance

9
Help for ParamQuery Pro / Styling like the demo
« on: November 10, 2017, 10:24:40 am »
Hello,

Im trying to style my grid like the one here: https://paramquery.com/demos/crud

It removes all the extra space on the bottom, and is sleek. How can I implement this ?

10
Help for ParamQuery Pro / export function not working
« on: October 19, 2017, 07:29:35 am »
The AJAX call posts to new.php, but doesnt return anything
      javascript

Code: [Select]
<script>
    $(function () {
        function fillOptions(grid) {
            var column = grid.getColumn({ dataIndx: 'ShipCountry' });
            column.filter.options = grid.getData({ dataIndx: ['ShipCountry'] });
            column.filter.cache = null;
            grid.refreshHeader();
        }
        var colM = [
            { title: "ShipCountry", width: 120, dataIndx: "ShipCountry",
                filter: {
                    type: 'select',
                    prepend: { '': 'All Countries' },
                    valueIndx: 'ShipCountry',
                    labelIndx: 'ShipCountry',
                    condition: 'equal',
                    listeners: ['change']
                }
            },
            { title: "Customer Name", width: 130, dataIndx: "ContactName" },
            { title: "Freight", width: 120, format: '$##,###.00',
                summary: {
                    type: "sum"
                },
                dataType: "float", dataIndx: "Freight"
            },
            { title: "Shipping Via", width: 130, dataIndx: "ShipVia" },
            //{ title: "Shipped Date", width: 100, dataIndx: "ShippedDate", dataType: "date" },
            { title: "Shipping Address", width: 220, dataIndx: "ShipAddress" },
            { title: "Shipping City", width: 130, dataIndx: "ShipCity" }
        ];
        var dataModel = {
            location: "remote",
            dataType: "JSON",
            method: "GET",
            url: "data.json"
            //url: "/pro/orders/get",//for ASP.NET
            //url: "orders.php",//for PHP
        };
        var groupModel = {
            on: true,
            dataIndx: ['ShipCountry'],
            collapsed: [true],
            title: [
                "{0} ({1})",
                "{0} - {1}"
            ]
        };
        var obj = {
            height: 500,
            toolbar: {
                items: [{
                    type: 'checkbox',
                    label: 'zip',
                    attr: 'id="export_zip"'
                },
                {
                    type: 'select',
                    label: 'Format: ',               
                    attr: 'id="export_format"',
                    options: [{ xlsx: 'Excel', csv: 'Csv', htm: 'Html', json: 'Json'}]
                },
                {
                    type: 'button',
                    label: "Export",
                    icon: 'ui-icon-arrowthickstop-1-s',
                    listener: function () {
                        this.exportData({
                            url: "new.php",
                            format: $("#export_format").val(),
                            zip: $("#export_zip").prop("checked"),
                            render: true
                        });
                    }
                }]
            },
            dataModel: dataModel,
            scrollModel: { autoFit: true },
            colModel: colM,
            numberCell: { show: false },
            filterModel: { on: true, header: true, type: "local" },
            selectionModel: { type: 'cell' },
            groupModel: groupModel,
            load: function (evt, ui) {
                //options for ShipCountry filter.   
                fillOptions(grid);
            },
            showTitle: false,
            resizable: true,
            virtualX: true,
            virtualY: true,
            hwrap: false,
            wrap: false
        };
        var grid = pq.grid("#grid_export", obj);

    });
[/tt][/tt][/tt]

      PHP
Code: [Select]
[tt]if (isset($_POST["pq_data"]) && isset($_POST["pq_ext"]))
{
    $pq_ext = $_POST["pq_ext"];
    $ext = array("csv", "htm", "json", "xlsx", "zip");
    if (in_array($pq_ext, $ext))
    {               
        session_start();
        $data = $_POST['pq_data'];
        $pq_decode = $_POST["pq_decode"];
        if( $pq_decode === "true" ){           
            $data = base64_decode($data);
        }
        $_SESSION['data'] = $data;
        $filename = $_POST['pq_filename']. "." . $pq_ext;
        $_SESSION['filename'] = $filename;
        echo $filename;
    }
}
else if(isset($_GET["pq_filename"]))
{
    $filename = $_GET["pq_filename"];
    session_start();     
    if ($filename == $_SESSION["filename"] )
    {               
        if (isset($_SESSION['data'])) {
            $data = $_SESSION['data'];
            $_SESSION['data']=null;

            header('Content-Disposition: attachment; filename="'.$filename.'"');
            header("Content-Type: application/octet-stream");
            header('Content-Length: ' . strlen($data));
            header('Connection: close');           
            echo $data;
            exit;
        }   
    }
}

[/tt]

11
Thank you! :)

12
Here is the transaction id from paypal: 

Transaction ID: xxxxxxxxxxx33924

Pages: [1]