{"id":378,"date":"2015-07-23T11:24:29","date_gmt":"2015-07-23T11:24:29","guid":{"rendered":"http:\/\/dokumentacja.edokumenty.eu\/?page_id=378"},"modified":"2017-07-10T11:31:15","modified_gmt":"2017-07-10T09:31:15","slug":"simpletable2","status":"publish","type":"page","link":"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/ui-elements\/listy-dbtable-simpletable\/simpletable2\/","title":{"rendered":"SimpleTable2"},"content":{"rendered":"<p>Je\u015bli chcemy zaprezentowa\u0107 dane w formie tabeli mo\u017cna do tego celu u\u017cy\u0107 obiektu SimpleTable2<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/SimpleTable2.jpg\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-579\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/SimpleTable2.jpg\" alt=\"SimpleTable2\" width=\"498\" height=\"267\" srcset=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/SimpleTable2.jpg 498w, http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/SimpleTable2-300x161.jpg 300w\" sizes=\"(max-width: 498px) 100vw, 498px\" \/><\/a><\/p>\n<p>Poni\u017cszy fragment kodu dodaje obiekt SimpleTable2\u00a0do okienka dialogowego.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\nrequire_once(LIB_PATH.'dbviews\/SimpleTable2.inc');\r\n$table=\u00a0new\u00a0SimpleTable2('table',\u00a0null,\u00a0get_class($this));\r\n$table-&gt;position\u00a0=\u00a0'static';\r\n$table-&gt;width\u00a0=\u00a0'100%';\r\n$table-&gt;height\u00a0=\u00a0'500px';\r\n$this-&gt;add($table);\n<\/code><\/pre><\/div>\n<p>Aby doda\u0107 kolumny do tabeli nale\u017cy u\u017cy\u0107 metody\u00a0setColumns, przekazuj\u0105c jako parametr tablice asocjacyjn\u0105, gdzie kluczem jest warto\u015b\u0107 klucza w danych, a warto\u015bci\u0105 nazwa pod jak\u0105 ma by\u0107 prezentowana kolumna.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n$columns\u00a0=\u00a0array(\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'tab'\u00a0=&gt; Translator::translate('Zak\u0142adka'),\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'reg'\u00a0=&gt; Translator::translate('Raport'),\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'btn'\u00a0=&gt; Translator::translate('Przyciski')\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0);\r\n\r\n$table-&gt;setColumns($columns);\n<\/code><\/pre><\/div>\n<p>Aby nada\u0107 odpowiednim kolumn\u0105 styl i inne atrybuty nale\u017cy u\u017cy\u0107 w\u0142a\u015bciwo\u015bci format, kt\u00f3ra jest tablic\u0105. Na pierwszym indeksie nazwa kolumny, a na kolejnym nazwa atrybuty i przypisuj\u0105c jej warto\u015b\u0107.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n$table-&gt;format['btn']['css']\u00a0=\u00a0'white-space:normal;\u00a0padding:2px\u00a020px;\u00a0line-height:18px;';\r\n$table-&gt;format['btn']['resize']\u00a0=\u00a0true;\n<\/code><\/pre><\/div>\n<p>Aby sortowa\u0107 domy\u015blnie dane po kolumnie, nale\u017cy u\u017cy\u0107 w\u0142a\u015bciwo\u015bci\u00a0order, przypisuj\u0105c\u00a0tablicy asocjacyjn\u0105, gdzie kluczem jest nazwa kolumny, a warto\u015bci\u0105 metoda sortowania (ASC, DESC).<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n$table-&gt;order\u00a0=\u00a0array('lp'\u00a0=&gt;\u00a0'ASC');\n<\/code><\/pre><\/div>\n<p>Aby pogrupowa\u0107 dane w tabeli \u00a0po warto\u015bciach z danej kolumny nale\u017cy u\u017cy\u0107 w\u0142a\u015bciwo\u015bci\u00a0groupBy, przypisuj\u0105c jej tablice z nazw\u0105 kolumny.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n$table-&gt;groupBy\u00a0=\u00a0array('tab');\n<\/code><\/pre><\/div>\n<p>Aby przypisa\u0107 dane \u017ar\u00f3d\u0142owe nale\u017cy u\u017cy\u0107 metody\u00a0setDataSource, przekazuj\u0105c jako parametr obiekt typu DataSource. Je\u015bli dane pochodz\u0105 z bazy nale\u017cy u\u017cy\u0107 obiektu\u00a0<a href=\"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/dostep-i-przetwarzanie-danych\/sqldatasource\/\">SQLDataSource<\/a>, a je\u015bli posiadamy ju\u017c tablice danych to nale\u017cy u\u017cy\u0107 obiektu\u00a0<a href=\"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/dostep-i-przetwarzanie-danych\/arraydatasource\/\">ArrayDataSource<\/a>.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n$table-&gt;setDataSource(\u00a0$object\u00a0);\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/07\/simpletable2bg.png\"><img loading=\"lazy\" class=\" wp-image-1170 alignnone\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/07\/simpletable2bg.png\" alt=\"simpletable2bg\" width=\"441\" height=\"262\" srcset=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/07\/simpletable2bg.png 607w, http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/07\/simpletable2bg-300x178.png 300w\" sizes=\"(max-width: 441px) 100vw, 441px\" \/><\/a><\/p>\n<p>Je\u017celi by\u015bmy chcieli np. pokolorowa\u0107 wiersz na dany kolor w zale\u017cno\u015bci od warto\u015bci w danej kolumnie (patrz obrazek wy\u017cej) to mo\u017cemy to zrobi\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<p>Do w\u0142a\u015bciwo\u015bci onPrintRow obiektu SimpleTable2 przypisujemy tablic\u0119 z nast\u0119puj\u0105cymi warto\u015bciami :<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\narray(\r\n'NazwaTwojejKlasy::NazwaStatycznejMetodyTejKlasy',\r\n'\u015acie\u017cka\u00a0do\u00a0pliku\u00a0z\u00a0t\u0105\u00a0klas\u0105'\r\n);\n<\/code><\/pre><\/div>\n<p>Przyk\u0142ad:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n\u00a0$table-&gt;onPrintRow\u00a0=\u00a0array(__CLASS__.'::onPrintRowResult',\u00a0$this-&gt;path);\n<\/code><\/pre><\/div>\n<p>Nast\u0119pnie w naszym dialogu tworzymy nasz\u0105 metod\u0119 statyczn\u0105, kt\u00f3ra powinna wygl\u0105da\u0107 tak:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"PHP\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-php js-code\">\n\/**\r\n\u00a0*\u00a0\r\n\u00a0*\u00a0@param\u00a0array\u00a0$row\r\n\u00a0*\u00a0@param\u00a0string\u00a0$css\r\n\u00a0*\/\r\npublic\u00a0static\u00a0function\u00a0onPrintRowResult($row,\u00a0&amp;$css)\u00a0{\r\n\r\n\u00a0\u00a0\u00a0\u00a0if\u00a0(isset($row['status']))\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if\u00a0($row['status']\u00a0==\u00a0'SUCCESS')\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$css\u00a0.=\u00a0'background-color:\u00a0#5cb85c;';\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if\u00a0($row['status']\u00a0==\u00a0'ERROR')\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$css\u00a0.=\u00a0'background-color:\u00a0#d9534f;';\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\r\n}\n<\/code><\/pre><\/div>\n<p>Obiekt SimpleTable2 podczas drukowania ka\u017cdego wiersza, wywo\u0142a metod\u0119 powy\u017cej. W ten spos\u00f3b mo\u017cemy wp\u0142ywa\u0107 na widok ka\u017cdego wiersza z osoba w naszej tabeli.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je\u015bli chcemy zaprezentowa\u0107 dane w formie tabeli mo\u017cna do tego celu u\u017cy\u0107 obiektu SimpleTable2 Poni\u017cszy fragment kodu dodaje obiekt SimpleTable2\u00a0do okienka dialogowego. Aby doda\u0107 kolumny do tabeli nale\u017cy u\u017cy\u0107 metody\u00a0setColumns, przekazuj\u0105c jako parametr tablice asocjacyjn\u0105, gdzie kluczem jest warto\u015b\u0107 klucza w danych, a warto\u015bci\u0105 nazwa pod jak\u0105 ma by\u0107 prezentowana kolumna. Aby nada\u0107 odpowiednim kolumn\u0105 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":489,"menu_order":10,"comment_status":"closed","ping_status":"open","template":"","meta":[],"tags":[26,77,76,30],"_links":{"self":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/378"}],"collection":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/comments?post=378"}],"version-history":[{"count":16,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/378\/revisions"}],"predecessor-version":[{"id":3435,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/378\/revisions\/3435"}],"up":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/489"}],"wp:attachment":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/media?parent=378"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/tags?post=378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}