{"id":726,"date":"2016-07-11T09:08:10","date_gmt":"2016-07-11T07:08:10","guid":{"rendered":"http:\/\/dokumentacja.edokumenty.eu\/?page_id=726"},"modified":"2016-12-20T12:05:30","modified_gmt":"2016-12-20T11:05:30","slug":"slistbox","status":"publish","type":"page","link":"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/ui-elements\/widgety\/slistbox\/","title":{"rendered":"SListBox"},"content":{"rendered":"<p>Lista wyboru z mo\u017cliwo\u015bci\u0105 wyszukiwania.<\/p>\n<p>SListBox przed wyszukaniem:<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_rBzZAM.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-727\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_rBzZAM-300x42.png\" alt=\"SListBox\" width=\"300\" height=\"42\" srcset=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_rBzZAM-300x42.png 300w, http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_rBzZAM.png 438w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>SListBox po wyszukaniu:<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_PdNBvn.png\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-728\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_PdNBvn-300x49.png\" alt=\"SListBox_2\" width=\"300\" height=\"49\" srcset=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_PdNBvn-300x49.png 300w, http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2016\/07\/SHU_PdNBvn.png 442w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Poni\u017cszy fragment kodu dodaje obiekt LookupWidget2 do 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.'forms\/SListBox.inc');\r\n\r\n\r\n$widget\u00a0=\u00a0new\u00a0SListBox($this-&gt;name.'user');\r\n$widget-&gt;top\u00a0=\u00a0$top.'px';\r\n$widget-&gt;left\u00a0=\u00a0'100px';\r\n$widget-&gt;width\u00a0=\u00a0'200px';\r\n$widget-&gt;valueField\u00a0=\u00a0'usr_id';\r\n$widget-&gt;labelField\u00a0=\u00a0'label';\r\n$widget-&gt;query = '';\r\n$widget-&gt;filterString = '';\r\n\r\n$this-&gt;add($widget, 'user');\n<\/code><\/pre><\/div>\n<p>Do w\u0142a\u015bciwo\u015bci <strong>query<\/strong> przypisujemy kwerend\u0119 SQL<\/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$widget-&gt;query\u00a0= \"SELECT\r\n             u.usr_id, \r\n             u.lasnam || ' ' || u.firnam || ' - ' || o.ndenam as label,\r\n             u.lasnam,\r\n             u.firnam\r\n         FROM users u\r\n                 left JOIN orgtree_view o ON o.usr_id= u.usr_id\r\n         WHERE u.is_cnt IS FALSE AND u.is_del IS FALSE AND {FILTER_STRING[OR]}\r\n         ORDER BY u.lasnam, u.firnam \";\n<\/code><\/pre><\/div>\n<p>Aby w naszej\u00a0 kwerendzie filtrowa\u0107 po warto\u015bci, kt\u00f3ra zosta\u0142a wpisana do pola przez u\u017cytkownika, nale\u017cy do w\u0142a\u015bciwo\u015bci <strong>filterString<\/strong> przypisa\u0107 string, w kt\u00f3rym okre\u015blimy do jakich kolumn ma ta warto\u015b\u0107 by\u0107 por\u00f3wnana. Nazwa <em>{SEARCH_TEXT}<\/em> zostanie zast\u0105piona na tekst wpisany przez u\u017cytkownika, po czym u\u017cytkownikowi pojawi si\u0119 lista wyboru.<\/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$widget-&gt;filterString\u00a0=\u00a0'(u.lasnam ~*\u00a0E\\'^{SEARCH_TEXT}\\'\u00a0OR u.firnam ~*\u00a0E\\'^{SEARCH_TEXT}\\')';\n<\/code><\/pre><\/div>\n<p>Je\u017celi chcemy aby nasz SListBox wyszukiwa\u0142 po kilku warto\u015bciach rozdzielonych spacjami nale\u017cy w kwerendzie do nazwy {FILTER_STRING} doda\u0107 nawiasy kwadratowe a w nich wpisa\u0107 spos\u00f3b \u0142\u0105czenia AND lub OR<\/p>\n<p>Przyk\u0142ad<\/p>\n<ul>\n<li>{FILTER_STRING[AND]}<\/li>\n<li>{FILTER_STRING[OR]}<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Lista wyboru z mo\u017cliwo\u015bci\u0105 wyszukiwania. SListBox przed wyszukaniem: SListBox po wyszukaniu: Poni\u017cszy fragment kodu dodaje obiekt LookupWidget2 do okienka dialogowego. Do w\u0142a\u015bciwo\u015bci query przypisujemy kwerend\u0119 SQL Aby w naszej\u00a0 kwerendzie filtrowa\u0107 po warto\u015bci, kt\u00f3ra zosta\u0142a wpisana do pola przez u\u017cytkownika, nale\u017cy do w\u0142a\u015bciwo\u015bci filterString przypisa\u0107 string, w kt\u00f3rym okre\u015blimy do jakich kolumn ma ta warto\u015b\u0107 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":493,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"tags":[23,34,30],"_links":{"self":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/726"}],"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\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/comments?post=726"}],"version-history":[{"count":10,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/726\/revisions"}],"predecessor-version":[{"id":1325,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/726\/revisions\/1325"}],"up":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/493"}],"wp:attachment":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/media?parent=726"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/tags?post=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}