{"id":26694,"date":"2021-02-23T00:21:42","date_gmt":"2021-02-22T23:21:42","guid":{"rendered":"https:\/\/help.qualiware.it\/qw-help\/?p=26694"},"modified":"2022-10-14T18:05:20","modified_gmt":"2022-10-14T16:05:20","slug":"oggetto-kanban","status":"publish","type":"post","link":"https:\/\/help.qualiware.it\/qw-help\/oggetto-kanban\/","title":{"rendered":"OGGETTO KANBAN"},"content":{"rendered":"<div class=\"msgBody\">\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Descrizione<\/h4>\n<\/div>\n<div class=\"msgBody\">\n<p>consente di visualizzare una &#8220;lavagna&#8221; virtuale nella quale \u00e8 possibile spostare, per trascinamento, gli elementi fra varie &#8220;categorie&#8221; organizzate in colonne.<\/p>\n<p>Questo oggetto \u00e8 utilizzabile solo sulla piattaforma web desktop.<\/p>\n<p>Per un corretto utilizzo sui browser Chrome, Edge e Safari, sui quali \u00e8 abilitato l&#8217;autozoom del form, si suggerisce di assegnare a <em>true<\/em> la propriet\u00e0 <strong><span style=\"color: #993300;\">AdattaAlloSpazio <\/span><\/strong>dell&#8217;<a href=\"https:\/\/help.qualiware.it\/qw-help\/fd-form\/\">oggetto Form<\/a> e di ancorare l&#8217;oggetto ai bordi del form stesso, utilizzando la propriet\u00e0 <strong><span style=\"color: #993300;\">Ancoraggio<\/span><\/strong>.<\/p>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Propriet\u00e0 Specifiche<\/h4>\n<\/div>\n<div class=\"msgBody\">\n<p>Non sono disponibile altre propriet\u00e0 oltre alle <a href=\"http:\/\/help.qualiware.it\/qw-help\/fd-proprieta-comuni\/\">propriet\u00e0 comuni.<\/a><\/p>\n<div class=\"msgBody\">\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Eventi specifici<\/h4>\n<p>Sono disponibili i seguenti eventi:<\/p>\n<ul>\n<li><b><span style=\"color: #993300;\">EventoSelezionaElemento: <\/span><\/b>viene attivato quando l&#8217;utente seleziona un elemento. Nella variabile &#8220;Item&#8221; \u00e8 contenuto l&#8217;elemento selezionato.<\/li>\n<li><b><span style=\"color: #993300;\">EventoRilasciaElemento<\/span><\/b>: viene attivato quando l&#8217;utente rilascia uno o pi\u00f9 elementi dopo averli spostati di colonna. Nella variabile &#8220;Items&#8221; \u00e8 contenuto un array che contiene tutti gli elementi spostati.<\/li>\n<\/ul>\n<p>NOTA IMPORTANTE: per motivi di performance legati alla struttura dell&#8217;oggetto, eventuali aggiornamenti di altri oggetti del form effettuati all&#8217;interno dei gestori di questi eventi (ad esempio l&#8217;assegnazione di un testo ad un&#8217;etichetta, oppure l&#8217;assegnazione di un valore ad un campo), <strong>non <\/strong>comporteranno l&#8217;aggiornamento grafico del form . Per aggiornare anche visivamente questi oggetti, \u00e8 necessario inserirli in un <a href=\"https:\/\/help.qualiware.it\/qw-help\/fd-contenitore\/\">oggetto contenitore<\/a> con la propriet\u00e0 <strong>ContenitoreAggiornamento<\/strong> assegnata a <em>true<\/em>, e, nel gestore dell&#8217;evento, richiamare il metodo <strong>UpdateContainer<\/strong> dell&#8217;<a href=\"https:\/\/help.qualiware.it\/qw-help\/fd-form\/\">oggetto form<\/a> specificando come parametro il contenitore stesso.<\/p>\n<p>Per maggiori informazioni sugli eventi leggi <a href=\"http:\/\/help.qualiware.it\/qw-help\/fd-eventi\/ \u200e\">qui<\/a>.<\/p>\n<\/div>\n<\/div>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Propriet\u00e0 utilizzabili da codice lato Server (VB.NET\/C#)<\/h4>\n<ul>\n<li><strong><span style=\"color: #993300;\">Enabled<\/span>:&nbsp;<\/strong>se assegnato a <i>False <\/i>gli elementi del Kanban non possono essere spostati.<\/li>\n<li><strong><span style=\"color: #993300;\">Visible<\/span>:&nbsp;<\/strong>se&nbsp;<em>True<\/em> l&#8217;oggetto \u00e8 visibile nel form, in caso contrario lo si assegna con <em>False<\/em>.<\/li>\n<\/ul>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Metodi utilizzabili da codice lato Server (VB.NET\/C#)<\/h4>\n<div class=\"msgBody\">\n<ul>\n<li><strong><span style=\"color: #993300;\">AddCategory(&lt;Name&gt;,&lt;Text&gt;)<\/span><\/strong>: consente di aggiungere una categoria (colonna), specificandone il nome (parametro &lt;Name&gt;), e il testo da visualizzare nell&#8217;intestazione (parametero &lt;Text&gt;).&nbsp;<\/li>\n<li><strong><span style=\"color: #993300;\">ClearCategories()<\/span><\/strong>: cancella tutte le categorie inserite.<\/li>\n<li><strong><span style=\"color: #993300;\">AddItem(&lt;Key&gt;,&lt;Category&gt;,&lt;Text&gt;,&lt;Order&gt;,&lt;optional Color&gt;,&lt;optional Group&gt;)<\/span><\/strong>: consente di inserire un elemento da visualizzare, specificandone tutte le propriet\u00e0. &lt;Key&gt; \u00e8 la chiave primaria che identifica l&#8217;elemento. Deve essere unica e pu\u00f2 contenere solo lettere e numeri. &lt;Category&gt; \u00e8 il nome della categoria (colonna) in cui l&#8217;elemento \u00e8 posizionato. &lt;Text&gt; \u00e8 il testo da visualizzare nel riquadro. &lt;Order&gt; \u00e8 l&#8217;ordine dell&#8217;elemento all&#8217;interno della categoria (dall&#8217;alto in basso) e deve essere un numero intero. &lt;Color&gt; \u00e8 opzionale ed \u00e8 il colore che deve essere visualizzato nell&#8217;angolo in basso a destra. &lt;Group&gt; \u00e8 anch&#8217;esso opzionale ed \u00e8 il gruppo in cui deve essere visualizzato l&#8217;elemento. Se viene specificato questo parametro anche per un solo elemento, gli elementi stessi verranno raggruppati in fasce orizzontali collassabili.<\/li>\n<li><strong><span style=\"color: #993300;\">ClearItems()<\/span><\/strong>: cancella tutti gli elementi definiti.<\/li>\n<li><strong><span style=\"color: #993300;\">GetAllItems()<\/span><\/strong>: Restituisce un array contenente tutti gli elementi presenti.<\/li>\n<li><strong><span style=\"color: #993300;\">GetItemsCount()<\/span><\/strong>: Restituisce il numero di elementi.<\/li>\n<\/ul>\n<p>Il metodo GetAllItems() ritorna rispettivamente un array di oggetti che hanno le seguenti propriet\u00e0:<\/p>\n<ul>\n<li><strong>Key<\/strong>: chiave identificativa dell&#8217;elemento<\/li>\n<li><strong>Category<\/strong>: categoria in cui l&#8217;elemento \u00e8 posizionato<\/li>\n<li><strong>Text<\/strong>: testo visualizzato<\/li>\n<li><strong>Order<\/strong>: posizione in cui l&#8217;elemento si trova all&#8217;interno della categoria (dall&#8217;alto in basso)<\/li>\n<li><strong>Color<\/strong>: colore visualizzato nell&#8217;angolo in basso a destra<\/li>\n<li><strong>Group<\/strong>: gruppo (fascia orizzontale) al quale l&#8217;elemento appartiene<\/li>\n<\/ul>\n<\/div>\n<p>Di seguito riportiamo alcuni esempi di utilizzo dei metodi sopra esposti.<\/p>\n<p>Il seguente frammento di codice pu\u00f2 essere utilizzato nell&#8217;EventoCarica del form per aggiungere gli elementi e categorie.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\">form.findcontrol(\"Kanban1\").AddCategory(\"TODO\",\"Da assegnare\")\r\nform.findcontrol(\"Kanban1\").AddCategory(\"M1\",\"Macchina 1\")\r\nform.findcontrol(\"Kanban1\").AddCategory(\"M2\",\"Macchina 2\")\r\nform.findcontrol(\"Kanban1\").AddCategory(\"M3\",\"Macchina 3\")\r\nform.findcontrol(\"Kanban1\").AddCategory(\"M4\",\"Macchina 4\")\r\n\r\ndim q as new QWTable\r\nq.database=form.GetDataBase()\r\nq.sql=\"select NCOMM,NSOTTOCOMM,CODART,DESCRIZION,CODCLI,RAGSOC,QUANTITA,DATACONS from COMMESSE c join ARTIC a on a.CODICE=CODART join CLIFOR cl on cl.CODICE=CODCLI where STATO&lt;&gt;4 order by NCOMM,NSOTTOCOMM\"\r\nq.requestlive=false\r\nq.active=true\r\n\r\nq.rowset.first()\r\nwhile not q.rowset.endofset\r\n\tform.FindControl(\"Kanban1\").AddItem(ltrim(str(q.rowset.fields(\"NCOMM\").value))+\"-\"+ltrim(Str(q.rowset.fields(\"NSOTTOCOMM\").value)),\r\n\t\t\t\t\t    \"TODO\",\r\n\t\t\t\t            q.rowset.fields(\"CODART\").value+\" - \"+q.rowset.fields(\"DESCRIZION\").value+\"&lt;BR&gt;\"+\r\n\t\t\t\t\t    q.rowset.fields(\"CODCLI\").value+\" - \"+q.rowset.fields(\"RAGSOC\").value+&lt;BR&gt;\"+\r\n                                            ltrim(str(q.rowset.fields(\"QUANTITA\").value))+\" pz per il \"+dtoc(q.rowset.fields(\"DATACONS\").value),\r\n\t\t\t\t\t    1)\r\n\tq.rowset.next()\r\nEnd While\r\n\r\nq.active=false\r\n<\/pre>\n<p>Il seguente frammento di codice pu\u00f2 essere utilizzato per visualizzare tutti gli elementi contenuti nel controllo.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"visualbasic\">dim items as dbarray=form.findcontrol(\"Kanban1\").GetAllItems()\r\ndim i as integer\r\n\r\ndim s as string=\"\"\r\nfor i=1 to items.size\r\n\ts+=items(i).Key+\" \"+items(i).Category+\" \"+items(i).Text+\" \"+ltrim(str(items(i).order))+vbcr\r\nnext\r\n\r\nform.alert(s)\r\n<\/pre>\n<h4 align=\"left\"><a name=\"eventi_form\"><\/a>Metodi utilizzabili da codice lato Client (Javascript)<\/h4>\n<ul>\n<li><strong><span style=\"color: #993300;\">show()<\/span>:&nbsp;<\/strong>visualizza l&#8217;oggetto.<\/li>\n<li><strong><span style=\"color: #993300;\">hide()<\/span>:&nbsp;<\/strong>nasconde l&#8217;oggetto.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Descrizione consente di visualizzare una &#8220;lavagna&#8221; virtuale nella quale \u00e8 possibile spostare, per trascinamento, gli elementi fra varie &#8220;categorie&#8221; organizzate in colonne. Questo oggetto \u00e8 utilizzabile solo sulla piattaforma web desktop. Per un corretto utilizzo sui browser Chrome, Edge e Safari, sui quali \u00e8 abilitato l&#8217;autozoom del form, si suggerisce di assegnare a true la&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[6],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/26694"}],"collection":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/comments?post=26694"}],"version-history":[{"count":4,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/26694\/revisions"}],"predecessor-version":[{"id":29627,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/26694\/revisions\/29627"}],"wp:attachment":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/media?parent=26694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/categories?post=26694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/tags?post=26694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}