FoxInCloud
grid - recordSource
Gravatar is a globally recognized avatar based on your email address. grid - recordSource
  Vincent H.
  All
  Jul 15, 2020 @ 02:29am

Hi Thierry,

The recordSource of my grid is indexed with a candidate key.
The grid does not appear and the screen controls do not respond.
If I don't index, or if I change the recordSource, it works.
I checked, the cursor and its index are valid.
Here is the detected error (no FiC message):

Thanks in advance

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 16, 2020 @ 09:45am

Hi Vincent,

Please try to click en savoir plus, it may display the exact line where the error occurs (missing ) after argument list)

If not, please post the server response from the network tab (réseau in your language).

TIA

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 16, 2020 @ 10:22am

This Code ?

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 16, 2020 @ 10:25am

no, we need the script that is a parameter to eval().

please post the server response.

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 16, 2020 @ 10:29am

And the server response:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?><IntuiCat><_script>(function(){ var oLink = jQuery('link[type="text/css"][href^="/snoTest/awDefault_"]'), href = oLink.attr('href'); !href.endsWith("/snoTest/awDefault_5TE15LN76.css") &#38;&#38; oLink.replaceWith('&#60;link href="/snoTest/awDefault_5TE15LN76.css" type="text/css", rel="stylesheet"&#62;'); })();</_script>
<HTMLDialog>
 	<DivID>carnetadr_scx</DivID> 
 	<DivTitle>Carnet d'adresses - FoxInCloud App</DivTitle> 
 	<DivHTML>
&#60;div class=&#34;modal fade&#34; id=&#34;modal-carnetadr_scx&#34; tabindex=&#34;-1&#34; data-backdrop=&#34;true&#34; role=&#34;dialog&#34; aria-hidden=&#34;true&#34; aria-labelledby=&#34;carnetadr_scx_caption&#34;&#62;
&#60;div class=&#34;Window_carnetadr_scx modal-dialog&#34; role=&#34;document&#34;&#62;
&#60;div class=&#34;modal-content&#34;&#62;
&#60;div class=&#34;modal-header&#34;&#62;
&#60;h4 class=&#34;modal-title&#34; id=&#34;carnetadr_scx_caption&#34;&#62;Carnet d&#39;adresses - FoxInCloud App&#60;/h4&#62;
&#60;/div&#62;
&#60;div class=&#34;modal-body&#34;&#62;
&#60;!-- Généré le 16/07/2020 19:24:34 en 0,37&#160;sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 /--&#62;
&#60;div id=&#34;carnetadr_scx&#34; class=&#34;carnetadr_scx form bootstrap&#34; style=&#34;position:relative;&#34;&#62;
&#60;span id=&#34;carnetadr_scx-waitpic&#34; class=&#34;fa fa-2x fa-spinner fa-pulse&#34; aria-hidden=&#34;true&#34; style=&#34;position:absolute;display:none;&#34;&#62;&#60;/span&#62;
&#60;div class=&#34;row row-compteur&#34;&#62;
&#60;div class=&#34;col col-listeauto col-xs-12 col-sm-8 text-left&#34;&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;div class=&#34;input-group&#34;&#62;
&#60;input type=&#34;text&#34; id=&#34;carnetadr_scx-listeauto&#34; class=&#34;form-control awBS-IGmember typeahead carnetadr_scx-listeauto&#34; tabindex=&#34;1&#34; placeholder=&#34;Rechercher un contact&#34; data-provide=&#34;typeahead&#34; autocomplete=&#34;off&#34; value=&#34;&#34;&#62;
&#60;span class=&#34;input-group-addon&#34;&#62;&#60;div id=&#34;carnetadr_scx-listeauto-search&#34; class=&#34;carnetadr_scx-listeauto-search awBS-IGmember&#34; title=&#34;Search&#34; disabled=&#34;&#34;&#62;&#60;span class=&#34;fa fa-search&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62;&#60;/div&#62;&#60;/span&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;col col-compteur col-xs-12 col-sm-4 text-right&#34;&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;label id=&#34;carnetadr_scx-compteur&#34; style=&#34;float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;&#34;&#62;Inscrits: &#60;span class=&#34;label label-default&#34; style=&#34;padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%&#34;;&#62;0 &#60;/span&#62;&#60;/label&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;div id=&#34;carnetadr_scx-grid&#34; class=&#34;carnetadr_scx-grid needsclick bootstrap&#34; title=&#34;Double clic pour valider votre choix&#34;&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;form-group awBSgrp-retirer p003&#34;&#62;
&#60;div class=&#34;btn-group-sm btn-group awBSgrp-retirer p003&#34;&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-retirer&#34; class=&#34;carnetadr_scx-retirer doo-retirer btn-default btn&#34; title=&#34;Retirer l&#38;#39;option sélectionnée&#34; tabindex=&#34;4&#34; accesskey=&#34;R&#34;&#62;&#60;span class=&#34;fa fa-minus-circle text-danger&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Retirer&#60;/button&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-modifier&#34; class=&#34;carnetadr_scx-modifier doo-modifier btn-default btn&#34; tabindex=&#34;5&#34; accesskey=&#34;M&#34;&#62;&#60;span class=&#34;fa fa-edit text-primary fa-lg&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Modifier&#60;/button&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-ajouter&#34; class=&#34;carnetadr_scx-ajouter doo-ajouter btn-default btn&#34; title=&#34;Ajouter une ligne&#34; tabindex=&#34;6&#34; accesskey=&#34;A&#34;&#62;&#60;span class=&#34;fa fa-plus-circle&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Ajouter&#60;/button&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;row row-fermer&#34;&#62;
&#60;div class=&#34;col col-bsdropdown1 col-xs-12 col-sm-5 text-left&#34;&#62;
&#60;div class=&#34;dropup&#34; style=&#34;float: left;&#34; id=&#34;carnetadr_scx-bsdropdown1&#34;&#62;
&#60;button class=&#34;btn btn-info dropdown-toggle&#34; type=&#34;button&#34; data-toggle=&#34;dropdown&#34; title=&#34;&#34;&#62;Copier les données &#60;span class=&#34;caret&#34;&#62;&#60;/span&#62;&#60;/button&#62;
&#60;ul class=&#34;dropdown-menu&#34;&#62;
&#60;li value=&#34;1&#34;&#62;&#60;a href=&#34;javascript:void(0)&#34;&#62;Copier le contact en cours dans le presse-papiers&#60;/a&#62;&#60;/li&#62;&#60;li role=&#34;separator&#34; class=&#34;divider&#34;&#62;&#60;/li&#62;&#60;li value=&#34;3&#34;&#62;&#60;a href=&#34;javascript:void(0)&#34;&#62;Export du carnet d&#38;#39;adresses&#60;/a&#62;&#60;/li&#62;
&#60;/ul&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;col col-fermer col-xs-12 col-sm-7 text-right&#34;&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-fermer&#34; class=&#34;carnetadr_scx-fermer btn-primary btn&#34; title=&#34;Fermer le travail en cours&#34; tabindex=&#34;7&#34; accesskey=&#34;F&#34;&#62;&#60;span class=&#34;fa fa-window-close text-&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Fermer&#60;/button&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;!--/ Généré le 16/07/2020 19:24:34 en 0,37&#160;sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 --&#62;

&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
 	</DivHTML> 
 	<DivWidth>420px</DivWidth> 
 	<DivHeight>318px</DivHeight> 
 	<DivModal>true</DivModal>
 	<ObjAddr></ObjAddr>
 	<MethAddr></MethAddr>
 	<Theme>mac_os_x</Theme>
 	<Center>true</Center>
 	<Buttons>[false,false,false]</Buttons>
 	<QueryUnload></QueryUnload>
 	<Resizable>true</Resizable>
 	<MinMaxWH>-1,-1,-1,-1</MinMaxWH>
 	<Bootstrap>b</Bootstrap>
</HTMLDialog>
<Result><v>true</v><t>boolean</t></Result>
<script>jQuery('#').replaceWith('&#60;label id="" style="float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;"&#62;Inscrits: &#60;span class="label label-default" style="padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%";&#62;0 &#60;/span&#62;&#60;/label&#62;');
jQuery('#_txt').attr('placeholder', 'Rechercher un contact');
jQuery('#carnetadr_scx-compteur').replaceWith('&#60;label id="carnetadr_scx-compteur" style="float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;"&#62;Inscrits: &#60;span class="label label-default" style="padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%";&#62;64 &#60;/span&#62;&#60;/label&#62;');
jQuery('#carnetadr_scx-listeauto_txt').attr('placeholder', 'Rechercher un contact');
jQuery('#carnetadr_scx-bsdropdown1').replaceWith('&#60;div class="dropup" style="float: left;" id="carnetadr_scx-bsdropdown1"&#62;\n&#60;button class="btn btn-info  dropdown-toggle" type="button" data-toggle="dropdown" title=""&#62;Copier les données  &#60;span class="caret"&#62;&#60;/span&#62;&#60;/button&#62;\n&#60;ul class="dropdown-menu"&#62;\n&#60;li value="1"&#62;&#60;a href="javascript:void(0)"&#62;Copier le contact en cours dans le presse-papiers&#60;/a&#62;&#60;/li&#62;&#60;li role="separator" class="divider"&#62;&#60;/li&#62;&#60;li value="3"&#62;&#60;a href="javascript:void(0)"&#62;Export du carnet d&#38;#39;adresses&#60;/a&#62;&#60;/li&#62;\n&#60;/ul&#62;\n&#60;/div&#62;');
jQuery('#carnetadr_scx-bsdropdown1 li').click(function(event){FoxInCloud.EventRequest('DOMEvent', event, this, jQuery(this).val(), "carnetadr_scx-bsdropdown1");});
/* Généré le 16/07/2020 19:24:34 en 0,37 sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 -- */
jQuery('#carnetadr_scx-waitpic').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-listeauto').typeahead({ minLength: 3 , highlight: true , items: 'all' , source: function(query, process){return jQuery.get('AJAXautoComp.sno?value=' + query + '&#38;ObjAddr=carnetadr_scx-listeauto', process)} , sorter: function(items){!items.length &#38;&#38; this.$menu.html(""); return items;} , afterSelect: function(item){jQuery('#carnetadr_scx-listeauto').select()} });
jQuery('#carnetadr_scx-listeauto').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-compteur').prop('effectShow', false).prop('effectHide', false);
(function(){
	var dStart = new Date();
	var grd = document.getElementById('carnetadr_scx-grid');
	if (grd){
		jQuery.extend(grd, {oGrid: new AW.UI.Grid, oTable: new AW.XML.Table});
		var oGrid = grd.oGrid, oTable = grd.oTable, oTempl;
		oGrid.defineCellProperty('CurrentControl', null);
		oGrid.defineControlProperty('DataUpdate', false);
		oGrid.setTabIndex("3");
		oGrid.setSelectorWidth(10);
		oGrid.getSelectorTemplate().setStyle('font-weight','bold');
		oGrid.setRowCount(64);
		oGrid.setCellEditable(true);
		oGrid.setCurrentColumn(-1);
		oGrid.setCellSelected(false, oGrid.getCurrentColumn(), oGrid.getCurrentRow());
		oGrid.setSelectionMode('single-row');
		oGrid.setSelectedRows([-1]);
		oGrid.setSelectedRows([parseInt(oGrid.getCurrentRow(), 10)]);
		oGrid.clearColumnModel();
		oGrid.setColumnCount(3);
		oGrid.setStyle('font-family','Arial');
		oGrid.setStyle('font-size','9pt');
		oGrid.setHeaderHeight(19);
		oGrid.setSize(undefined, 214);
		jQuery(grd)[FoxInCloud.posDimEffect ? "animate" : "css"]({"left": "10px"});
		oGrid.setSelectorVisible(true);
		oGrid.defineControlProperty('Statusbartext');
		oGrid.setControlStatusbartext('');
		jQuery(grd)[FoxInCloud.posDimEffect ? "animate" : "css"]({"top": "38px"});
		oGrid.setSize(399,undefined);
		oGrid.setColumnIndices([0,1,2]);
		oGrid.setCellEditable(true, 0);
		oGrid.setColumnResizable(true, 0);
		oGrid.setColumnWidth(292+1, 0);
		oGrid.setCellEditable(true, 1);
		oGrid.setColumnResizable(true, 1);
		oGrid.setColumnWidth(135+1, 1);
		oGrid.setCellEditable(true, 2);
		oGrid.setColumnResizable(true, 2);
		oGrid.setColumnWidth(116+1, 2);
		
		
		/* Column 0 'Column1' */
		oTempl = oGrid.getHeaderTemplate(0);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',0,undefined);
		oGrid.setCellCurrentControl('text1', 0);
		oTempl = oGrid.getCellTemplate(0);
		oTempl.setStyle('text-align','left');
		
		/* Column 1 'Column2' */
		oTempl = oGrid.getHeaderTemplate(1);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',1,undefined);
		oGrid.setCellCurrentControl('text1', 1);
		oTempl = oGrid.getCellTemplate(1);
		oTempl.setStyle('text-align','left');
		
		/* Column 2 'Column3' */
		oTempl = oGrid.getHeaderTemplate(2);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',2,undefined);
		oGrid.setCellCurrentControl('text1', 2);
		oTempl = oGrid.getCellTemplate(2);
		oTempl.setStyle('text-align','left');
		
		oGrid.setHeaderText('Nom', 0);
		oGrid.setCellEditable(true, 0);
		oGrid.setHeaderText('Prénom', 1);
		oGrid.setCellEditable(true, 1);
		oGrid.setHeaderText('Commune', 2);
		oGrid.setCellEditable(true, 2);
		var scrollTop = oGrid.getScrollTop();
		oGrid.setCellModel(oTable);
		oGrid.setVirtualMode(false);
		oTable.setURL("Temp/carnetadr_scx-grid.xml");
		oTable.setAsync(false);
		oTable.request();
		scrollTop &#38;&#38; oGrid.setScrollTop(scrollTop);
		
		oGrid.setSortDirection();
		oGrid.setSortDirection('ascending', 0);
		oGrid.refresh();
		oGrid.setCellTooltip('Double clic pour valider votre choix', 0, undefined);
		oGrid.setCellTooltip('Double clic pour valider votre choix', 1, undefined);
		oGrid.setCellTooltip('Double clic pour valider votre choix', 2, undefined);
		oGrid.defineRowProperty('tuRow', null);
		var srp = oGrid.setRowProperty.bind(oGrid);
		srp('tuRow','ABC IMMODIAG M. HUMEAU Pierre - SAINT NAZAIRE (44600) _5SS0WE8QM',0);srp('tuRow','ABC IMMODIAG Max SIBERIL - NANTES (44000) _5SS0WE8QN',1);srp('tuRow','ABRISAIN Mme DEBRAY Patricia - ST ANDRE DES EAUX (44117) _5SS0WE8PO',2);srp('tuRow','AC ENVIRONNEMENT  - SCHILTIGHEIM (67300) _5SS0WE8QX',3);srp('tuRow','ACTIV\' EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);srp('tuRow','AGENCE ARC ATLANTIQUE Laurent BOUCHER - BAIN DE BRETAGNE (35470) _5SS0WE8Q4',5);srp('tuRow','AGENCE DIAGNOSTICS IMMOBILIERS PACA  - SALERNES (83690) _5SS0WE8QV',6);srp('tuRow','AGENCE DU GRAND LARGE GUEZOU Thomas - LA BAULE-ESCOUBLAC (44500) _5SS0WE8PY',7);srp('tuRow','AGENDA DIAG 44 Hervé Fravalo - ST BREVIN LES PINS (44250) _5SS0WE8QD',8);srp('tuRow','AGENDA Jonathan MENEGON - LA BAULE ESCOUBLAC (44500) _5SS0WE8PN',9);srp('tuRow','AGENTYS SAINT MANDE Olivier HAMOU - ST MANDE (94160) _5SS0WE8PX',10);srp('tuRow','AGEXIA Trochet - LE RAINCY (93340) _5SS0WE8Q7',11);srp('tuRow','AGIPORT SYNDIC ET GESTION  - PORNICHET (44380) _5SS0WE8QT',12);srp('tuRow','AJP - AGENCE DU DAUPHIN Madame Nathalie DERVAL - PORNICHET (44380) _5SS0WE8Q5',13);srp('tuRow','APROGIM  - ST NAZAIRE (44600) _5SS0WE8PH',14);srp('tuRow','BASILE RICHARD IMMOBILIER Basile RICHARD - CUGAND (85610) _5SS0WE8QP',15);srp('tuRow','BODIN PLAGE IMMOBILIER PIAU Emmanuelle - ST BREVIN LES PINS (44250) _5SS0WE8PZ',16);srp('tuRow','CABINET BOSSARD BOSSARD - REZE (44400) _5SS0WE8QL',17);srp('tuRow','CABINET C.H.V. hugues Vartanian - ST MAUR DES FOSSES (94100) _5SS0WE8Q0',18);srp('tuRow','CABINET D'EXPERTISES BAPTISTE SOUILLÉ  - MARMANDE (47200) _5SS0WE8QW',19);srp('tuRow','CABINET IMMOBILIER MACE Christophe - LA BAULE ESCOUBLAC (44500) _5SS0WE8QK',20);srp('tuRow','CABINET JACQUES ARAV  - PARIS 16 (75016) _5SS0WE8R0',21);srp('tuRow','CABINET LOCGEST Patrick MABILAIS - LA BAULE ESCOUBLAC (44500) _5SS0WE8Q2',22);srp('tuRow','CABINET LOISY EXPERTISES BATIMENT Patrick LOISY - PORNICHET (44380) _5SS0WE8PE',23);srp('tuRow','CABINET MACE  - LA BAULE ESCOUBLAC (44503) _5SS0WE8PF',24);srp('tuRow','CABINET PAQUEREAU  - LA BAULE ESCOUBLAC (44505) _5SS0WE8PG',25);srp('tuRow','CAPPEX DIAGNOSTICS IMMOBILIERS PENOS Isabelle - LE POULIGUEN (44510) _5SS0WE8PR',26);srp('tuRow','CHANTAL RIGHI AGENT MANDATAIRE OPTIMHOME RIGHI Chantal - SAINT-NAZAIRE (44600) _5SS0WE8PT',27);srp('tuRow','COCOONING  - VALLET (44330) _5SS0WE8QS',28);srp('tuRow','COTE DEMEURES - GHI Emmanuel BERANGER - LA BAULE ESCOUBLAC (44500) _5SS0WE8PQ',29);srp('tuRow','DETEX  - ST NAZAIRE (44600) _5SS0WE8PV',30);srp('tuRow','DETEX GALLARD Valérie - ST NAZAIRE (44600) _5SS0WE8QH',31);srp('tuRow','DIAG\' AGENCES  - STE LUCE SUR LOIRE (44980) _5SS0WE8QE',32);srp('tuRow','DIAGNOSTIQUES ENVIRONNEMENT PREVENTION CZYZ Thomas - NEUILLY PLAISANCE (93360) _5SS0WE8Q8',33);srp('tuRow','DIAGONAL/KAPECO PERRARD - GUERANDE (44350) _5SS0WE8Q6',34);srp('tuRow','DRUARD Alexandre - LE TAMPON (97430) _5SS0WE8QG',35);srp('tuRow','DUGAST EXPERTISE Philippe DUGAST - STE LUCE SUR LOIRE (44980) _5SS0WE8R6',36);srp('tuRow','EMCV ACTIV' EXPERTISE SUCY EN BRIE  - LIMEIL BREVANNES (94450) _5SS0WE8QU',37);srp('tuRow','ESTU\'AIRES Mr RONGIER LAURENT - COUERON (44220) _5SS0WE8QR',38);srp('tuRow','EXABITAT Mr Adrien MENANT - LA BAULE ESCOUBLAC (44500) _5SS0WE8QO',39);srp('tuRow','FONCIA  - LA BAULE ESCOUBLAC CEDEX (44504) _5SS0WE8PJ',40);srp('tuRow','FONCIA GOBELINS Ranaivojaona Kanto - PARIS CEDEX 14 (75682) _5SS0WE8R5',41);srp('tuRow','HEYDIAG  - PARIS 08 (75008) _5SS0WE8QA',42);srp('tuRow','HORIZON CONTROLE ET FORMATION  - AUBERVILLIERS (93305) _5SS0WE8QZ',43);srp('tuRow','IDF - IMMO DIAG FRANCE Francisco JIMENEZ - ST MAUR DES FOSSES (94100) _5SS0WE8Q1',44);srp('tuRow','L\'OEIL DE L\'EXPERT FERNANDES Francisco - 95003 (95003) _5SS0WE8PS',45);srp('tuRow','LEPAGE DIDIER - LAVAL (53000) _5SS0WE8R2',46);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) ERBETTA Patricia - SAINTE ANNE (97180) _5SS0WE8R1',47);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) LOUVARD Jacky - CHANGE (53810) _5SS0WE8R3',48);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) MARGERIT Pascal - AUREC SUR LOIRE (43110) _5SS0WE8R4',49);srp('tuRow','OUEST EXPERTISE  - REZE CEDEX (44405) _5SS0WE8PW',50);srp('tuRow','OUEST EXPERTISE Fabien MELOTTE - REZE CEDEX (44405) _5SS0WE8Q3',51);srp('tuRow','OUEST EXPERTISE Thomas Arnoud - ANDREZEL (44400) _5SS0WE8QJ',52);srp('tuRow','OUEST UNION JOUAN Sébastien - LA BAULE ESCOUBLAC (44500) _5SS0WE8PM',53);srp('tuRow','OUEST UNION Sébastien JOUAN - LA BAULE ESCOUBLAC (44500) _5SS0WE8PI',54);srp('tuRow','PANURGE Stéphanie - ST PIERRE (97410) _5SS0WE8QF',55);srp('tuRow','PAQUEREAU  - LA BAULE ESCOUBLAC (44500) _5SS0WE8PP',56);srp('tuRow','PROMOTHEUS Arnaud EMOND - CRÉTEIL (94000) _5SS0WE8Q9',57);srp('tuRow','QUADRAL IMMOBILIER  - PARIS 10 (75010) _5SS0WE8QY',58);srp('tuRow','SARL ATLANTIQUE CIRRUS Raphaêl BOSSY - LE TEMPLE DE BRETAGNE (44360) _5SS0WE8PU',59);srp('tuRow','THIERRY IMMOBILIER  - NANTES (44010) _5SS0WE8QC',60);srp('tuRow','TOUIKI Frédéric - MERY-SUR-OISE (95540) _5SS0WE8QB',61);srp('tuRow','VILLA MYRTIL Chantal GUILLOUARD - VERSAILLES (78000) _5SS0WE8PL',62);srp('tuRow','WINDAL ET KLEIN  - LE POULIGUEN (44510) _5SS0WE8QI',63);
		srp = null;
		oGrid.defineRowProperty('Clicked', false);
		if (FoxInCloud.gridRowChangeDelay &#62; 0){
			oGrid.onRowMouseDown = function(event, row){this.setRowClicked(true, row)};
			oGrid.onRowMouseUp = function(event, row){this.setRowClicked(false, row)};
		}
		oGrid.onCurrentRowChanged = function(row){
			var value = this.getRowProperty('tuRow', row);
			if (!(this.disabled || value === null)){
				var rowClicked = this.getRowClicked(row)
				, grd = document.getElementById('carnetadr_scx-grid');
				if (FoxInCloud.gridRowChangeDelay &#62; 0 &#38;&#38; (!rowClicked || FoxInCloud.gridRowChangeDelayClicked &#62; 0)){
					this.nTOrow &#38;&#38; window.clearTimeout(this.nTOrow);
					this.nTOrow = window.setTimeout(jQuery.proxy(FoxInCloud.gridMethod, FoxInCloud), FoxInCloud[rowClicked ? 'gridRowChangeDelayClicked' : 'gridRowChangeDelay'] * 1000, 'wAfterRowChange', grd, value);
				}
				else FoxInCloud.gridMethod('wAfterRowChange', grd, value);
			}
		};
		
		oGrid.onControlDoubleClicked = function(event){
			if(event.cancelBubble) return;
			event = jQuery.event.fix(event);
			if(event.which === 1){
				return FoxInCloud.gridEvent(event, 'carnetadr_scx-grid');
			}
		};
		
		oGrid.onCellValidating = function(text, col, row){
			var result, dynCC, template, fmt, value, done;
			col = parseInt(col, 10);
			if (typeof row === 'undefined') {
				template = this.getCellTemplate(col);
				dynCC = this.getCellCurrentControl(col);
			}
			else {
				row = parseInt(row, 10);
				dynCC = this.getCellCurrentControl(col,row);
				template = this.getCellTemplate(col,row);
			}
			if (template.disabled) return;
			if (template.readOnly) return;
			if (typeof text === 'string'){
				fmt = this.getCellFormat(col, row);
				value = fmt ? fmt.textToValue(text) : text;
			}
			switch (col){
				case 0: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column1-text1', true); done=!result; break;}
				case 1: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column2-text1', true); done=!result; break;}
				case 2: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column3-text1', true); done=!result; break;}
			}
			if (done){
				var cols = this.getColumnCount(), rows = this.getRowCount(), done = false, row_ = row;
				col++;
				while (row &#60; rows &#38;&#38; !done) {
					if (this.getCellEditable(col,row)) {
						this.setSelectedColumns([col]);
						this.setCurrentColumn(col);
						if (row !== row_){
							this.setSelectedRows([row]);
							this.setCurrentRow(row);
						}
						done = true;
					}
					else {
						col++;
						if (col &#62;= cols){
							col = 0;
							row++;
						}
					}
				}
			}
			return result;
		};
		
		oGrid.onKeyBackspace = function(event){
			event = jQuery.event.fix(event);
			event.stopPropagation();
			event.preventDefault();
		};
		
		oGrid.setSelectedRows([-1]);
		oGrid.setSelectedRows([0]);
		oGrid.disabled = true;
		oGrid.setCurrentRow(0);
		oGrid.disabled = false;
		jQuery(grd).html(oGrid.toString());
	}
	dStart = new Date() - dStart;
	window.console &#38;&#38; console.log &#38;&#38; console.log("'carnetadr_scx-grid' grid script took 84 ms. to generate on the server, " + dStart + " ms to execute on the browser, total " + (dStart + 84) + " ms.\n" + 'awhtml.fxp!Ogrid.gethtml_grd_aw_cscript_() - state changes &#62; JavaScript: 31 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_() - current state XML 38 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs_calias() - .RecordSource "CCarnetadr" &#62; RecordSet using Select-SQL: 15 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs_calias() - Current record located using unique key expression "PADR(ALLTRIM(CCarnetadr.NOM)+" "+ALLTRIM(CCarnetadr.PRENOM)+" - "+ALLTRIM(CCarnetadr.COMMUNE)+" ("+CCarnetadr.CODEPOSTAL+")"+" "+CCarnetadr.IDUNIQUE,120)" = "ABC IMMODIAG M. HUMEAU Pierre - SAINT NAZAIRE (44600) _5SS0WE8QM                                                        ": 0 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs() - \'CCarnetadr\' RecordSet &#62; XML (64 rows): 23 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_oxmlchanges() - state changes: 15 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_rs() - data changes &#62; JS: 0 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_events() - event handlers: 0 ms.');
})();
jQuery('#carnetadr_scx-retirer').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-modifier').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-ajouter').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-bsdropdown1').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-fermer').prop('effectShow', false).prop('effectHide', false);
FoxInCloud.formActivateObserve('carnetadr_scx', null, null);
jQuery('#carnetadr_scx').prop('wuValue ', null);
FoxInCloud.XBrowserFix('carnetadr_scx');
jQuery('#carnetadr_scx').prop('effectShow', true).prop('effectHide', true);
jQuery('#carnetadr_scx-listeauto').on('change', jQuery.proxy(FoxInCloud.DOMEvent, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-retirer').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-modifier').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-ajouter').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-fermer').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
var inputs = jQuery("#carnetadr_scx *[tabindex]:not(div):not(.aw-grid-control, .aw-control-focus)")
.filter(function(){return this.tabIndex &#62; 0;})
.sort(function(a,b){return a.tabIndex - b.tabIndex;});
inputs.each(function(idx, elt){
jQuery(elt).on('keydown', function(e){
var $this = jQuery(this), keyCode = e.which;
if (!(keyCode === 9 || keyCode === 13 &#38;&#38; $this.is('input, select') &#38;&#38; !($this.is('input.typeahead') &#38;&#38; $this.data('typeahead')['shown']))) return;
if (keyCode === 9) e.preventDefault();
FoxInCloud.lastKey = keyCode;
var inputTo
, inputTos = e.shiftKey ? jQuery(inputs.slice(0).get().reverse()) : inputs.slice(0)
, index = inputTos.index(this)
;

!inputTo &#38;&#38; inputTos.each(function(idx, inpTo){
inpTo = jQuery(inpTo);
if (true
&#38;&#38; idx &#62; index
&#38;&#38; inpTo.prop('tabIndex') &#62; 0
&#38;&#38; !inpTo.prop('disabled')
&#38;&#38; inpTo.is(':visible')
){
inputTo = inpTo;
return false;
}
});

!inputTo &#38;&#38; inputTos.each(function(idx, inpTo){
inpTo = jQuery(inpTo);
if (true
&#38;&#38; idx &#60; index
&#38;&#38; inpTo.prop('tabIndex') &#62; 0
&#38;&#38; !inpTo.prop('disabled')
&#38;&#38; inpTo.is(':visible')
) {
inputTo = inpTo;
return false;
}
});

var nextFocus = function(){
if (FoxInCloud.lDialog){
if (FoxInCloud.$Dialog) FoxInCloud.$Dialog.data('oSrce', inputTo);
}
else  inputTo
&#38;&#38; !FoxInCloud.lDialog
&#38;&#38; !inputTo.is(':focus')
&#38;&#38; inputTo.focus()
&#38;&#38; (!(keyCode === 13 &#38;&#38; inputTo.is('textarea, button')) || e.preventDefault() || true)
&#38;&#38; true
&#38;&#38; window.console &#38;&#38; console.log &#38;&#38; console.log('tabbing to #' + inputTo.attr('id'))
;
};

$this.blur();

if (FoxInCloud.lRequest) FoxInCloud.AjaxComplete__ = nextFocus;
else nextFocus();
});
});
window.setTimeout(function(){jQuery('#carnetadr_scx-listeauto').focus();}, 500);
/* -- Généré le 16/07/2020 19:24:34 en 0,37 sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 */;
jQuery('#carnetadr_scx').addClass('container-fluid');</script>
<UserID>5TE0KMCLZ</UserID>
<reqID>8144_5TE15LMNO-001</reqID>
<ServerVersion>2.31.0-beta.3</ServerVersion>
<ServerTimeStamp>{^2020-06-25 11:31:10 AM}</ServerTimeStamp>
<AppTime>0.987</AppTime>
<ServerTime>2.172800</ServerTime></IntuiCat>
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 17, 2020 @ 12:52am

Hi Vincent,

Your Grid is innocent 😉.

Error occurs on this instruction, because of an unescaped ' in "carnet d'adresses" (even the markdown interpreter can sniff it, see the white color at the end of the instruction):

jQuery('#carnetadr_scx-bsdropdown1').replaceWith('<div class="dropup" style="float: left;" id="carnetadr_scx-bsdropdown1">\n<button class="btn btn-info  dropdown-toggle" type="button" data-toggle="dropdown" title="">Copier les données  <span class="caret"></span></button>\n<ul class="dropdown-menu">\n<li value="1"><a href="javascript:void(0)">Copier le contact en cours dans le presse-papiers</a></li><li role="separator" class="divider"></li><li value="3"><a href="javascript:void(0)">Export du carnet d'adresses</a></li>\n</ul>\n</div>');

I suggest you always build the complex arguments to JS functions using the cLitteralJS() FoxInCloud function; eg. in .wcHTMLgen():

lcHTML = [<div class="dropup" style=" …]
this.wcHTML = textmerge([jQuery('#<<this.wcID>>').replaceWith(<<cLitteralJS(m.lcHTML)>>)])
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 17, 2020 @ 02:09am

Not that innocent ... 😉
I removed the control whose wording included a ' (thanks for the reminder, always useful) but the result is unchanged

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 17, 2020 @ 07:42am

OK got it

In
srp('tuRow','CABINET D'EXPERTISES BAPTISTE SOUILLÉ - MARMANDE (47200) _5SS0WE8QW',19);,
the quote ' is not escaped while it's properly escaped in
srp('tuRow','ACTIV\' EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);
several lines above.

Reason for that is: the source data is
CABINET D’EXPERTISES BAPTISTE SOUILLÉ,
with a instead of a plain '

So far awHTML.prg, cLitteralJS('CABINET D’EXPERTISES BAPTISTE SOUILLÉ') == 'CABINET D’EXPERTISES BAPTISTE SOUILLÉ'

For some reason outside of FoxInCloud, is turned into a plain ' when building the XML and/or transmitting it to the client browser.

Please try this fix:

modify command abTxt.prg

&& change:
			+ ['];
			+ strtran(strtran(strtran(strtran(strtran(iif(lTrue(m.tlTrim), trim(m.tuValue), m.tuValue);
				, '\', '\\');
				, ['], [\']); && {fr} see GA_STRINGPARSE_CLASS.MaskStrings(), parameter JSstring
				, CRLF, '\n');
				, CR, '\n');
				, LF, '\n');
			+ ['];

&& by

			+ ['];
			+ strtran(strtran(strtran(strtran(chrtran(strtran(iif(lTrue(m.tlTrim), trim(m.tuValue), m.tuValue);
				, '\', '\\');
				, [’], [']);
				, ['], [\']); && {fr} see GA_STRINGPARSE_CLASS.MaskStrings(), parameter JSstring
				, CRLF, '\n');
				, CR, '\n');
				, LF, '\n');
			+ ['];
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 17, 2020 @ 08:21am

Bravo and thank you !
Mac dirt ...

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 17, 2020 @ 09:09am

why not ?

, [’], [\']);
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 01:54am

Update!

We should preserve the apostrophe otherwise the client will send a key that the server won't be able to find…

Please revert the change in abTxt.prg and try this fix instead:

modify command awServer.prg

&& replace this procedure with the following code:

PROCEDURE XMLeltAdd && {fr} Ajoute un élément au document XML
&& {fr} PUBLIC car peut être appelée par awProcess
LPARAMETERS ;
  tcElt; && {fr} Nom de l'élément à ajouter
, tuContent; && {fr} Contenu de l'élément
, tlPrepend && [.F.] {fr} Ajouter au début

LOCAL llResult, llScript, lcType, lcContent

* {fr} Si le noeud est défini et n'est pas déjà dans le document XML
IF Vartype(m.tcElt) == 'C';
 AND !Empty(m.tcElt);
 and varSet(@m.tcElt, Alltrim(m.tcElt));
 and !([<] + m.tcElt + [>] $ m.this.cXML)

	llScript = Alltrim(m.tcElt, '_') == 'script'
	lcType = Vartype(m.tuContent)
	lcContent = '';
		+ [<] + m.tcElt + [>];
		+ cEscaped_XML(ICase(; && {fr} cUTF8() à la toute fin
		  m.lcType == 'C',;
		    Rtrim(Iif(m.llScript, Strtran(m.tuContent, Chr(146), '’'), m.tuContent)),; && 2020-07-17 thn -- {en} https://support.west-wind.com/Thread5TD05C1YE.wwt
		  m.lcType == 'N',;
		    cLitteralNum(Transform(m.tuContent), .T.),;
		    Transform(m.tuContent);
		    ));
		+ [</] + m.tcElt + [>]
	
	* {fr} Ajouter aux données
	this.cXML = Iif(lTrue(m.tlPrepend);
		, m.lcContent + CRLF + m.this.cXML;
		, m.this.cXML + CRLF + m.lcContent;
		)

	llResult = .T.
ENDIF
return m.llResult
endproc
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 02:29am

Done, but it's doesn't work

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 02:32am

Markdown parser has replaced the entity in the sample code

please read Strtran(m.tuContent, Chr(146), '’') as Strtran(m.tuContent, Chr(146), '&#8217;')

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 02:46am

Same bad result

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 02:50am

Can you post the server response using this change?

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 02:58am

Yes, of course. Here it is:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?><IntuiCat><_script>(function(){ var oLink = jQuery('link[type="text/css"][href^="/snoTest/awDefault_"]'), href = oLink.attr('href'); !href.endsWith("/snoTest/awDefault_5TG0PJAH9.css") &#38;&#38; oLink.replaceWith('&#60;link href="/snoTest/awDefault_5TG0PJAH9.css" type="text/css", rel="stylesheet"&#62;'); })();</_script>
<HTMLDialog>
 	<DivID>carnetadr_scx</DivID> 
 	<DivTitle>Carnet d'adresses - FoxInCloud App</DivTitle> 
 	<DivHTML>
&#60;div class=&#34;modal fade&#34; id=&#34;modal-carnetadr_scx&#34; tabindex=&#34;-1&#34; data-backdrop=&#34;true&#34; role=&#34;dialog&#34; aria-hidden=&#34;true&#34; aria-labelledby=&#34;carnetadr_scx_caption&#34;&#62;
&#60;div class=&#34;Window_carnetadr_scx modal-dialog&#34; role=&#34;document&#34;&#62;
&#60;div class=&#34;modal-content&#34;&#62;
&#60;div class=&#34;modal-header&#34;&#62;
&#60;h4 class=&#34;modal-title&#34; id=&#34;carnetadr_scx_caption&#34;&#62;Carnet d&#39;adresses - FoxInCloud App&#60;/h4&#62;
&#60;/div&#62;
&#60;div class=&#34;modal-body&#34;&#62;
&#60;!-- Généré le 18/07/2020 11:54:50 en 0,43&#160;sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 /--&#62;
&#60;div id=&#34;carnetadr_scx&#34; class=&#34;carnetadr_scx form bootstrap&#34; style=&#34;position:relative;&#34;&#62;
&#60;span id=&#34;carnetadr_scx-waitpic&#34; class=&#34;fa fa-2x fa-spinner fa-pulse&#34; aria-hidden=&#34;true&#34; style=&#34;position:absolute;display:none;&#34;&#62;&#60;/span&#62;
&#60;div class=&#34;row row-compteur&#34;&#62;
&#60;div class=&#34;col col-listeauto col-xs-12 col-sm-8 text-left&#34;&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;div class=&#34;input-group&#34;&#62;
&#60;input type=&#34;text&#34; id=&#34;carnetadr_scx-listeauto&#34; class=&#34;form-control awBS-IGmember typeahead carnetadr_scx-listeauto&#34; tabindex=&#34;1&#34; placeholder=&#34;Rechercher un contact&#34; data-provide=&#34;typeahead&#34; autocomplete=&#34;off&#34; value=&#34;&#34;&#62;
&#60;span class=&#34;input-group-addon&#34;&#62;&#60;div id=&#34;carnetadr_scx-listeauto-search&#34; class=&#34;carnetadr_scx-listeauto-search awBS-IGmember&#34; title=&#34;Search&#34; disabled=&#34;&#34;&#62;&#60;span class=&#34;fa fa-search&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62;&#60;/div&#62;&#60;/span&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;col col-compteur col-xs-12 col-sm-4 text-right&#34;&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;label id=&#34;carnetadr_scx-compteur&#34; style=&#34;float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;&#34;&#62;Inscrits: &#60;span class=&#34;label label-default&#34; style=&#34;padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%&#34;;&#62;0 &#60;/span&#62;&#60;/label&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;form-group&#34;&#62;
&#60;div id=&#34;carnetadr_scx-grid&#34; class=&#34;carnetadr_scx-grid needsclick bootstrap&#34; title=&#34;Double clic pour valider votre choix&#34;&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;form-group awBSgrp-retirer p003&#34;&#62;
&#60;div class=&#34;btn-group-sm btn-group awBSgrp-retirer p003&#34;&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-retirer&#34; class=&#34;carnetadr_scx-retirer doo-retirer btn-default btn&#34; title=&#34;Retirer l&#38;#39;option sélectionnée&#34; tabindex=&#34;4&#34; accesskey=&#34;R&#34;&#62;&#60;span class=&#34;fa fa-minus-circle text-danger&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Retirer&#60;/button&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-modifier&#34; class=&#34;carnetadr_scx-modifier doo-modifier btn-default btn&#34; tabindex=&#34;5&#34; accesskey=&#34;M&#34;&#62;&#60;span class=&#34;fa fa-edit text-primary fa-lg&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Modifier&#60;/button&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-ajouter&#34; class=&#34;carnetadr_scx-ajouter doo-ajouter btn-default btn&#34; title=&#34;Ajouter une ligne&#34; tabindex=&#34;6&#34; accesskey=&#34;A&#34;&#62;&#60;span class=&#34;fa fa-plus-circle&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Ajouter&#60;/button&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;row row-fermer&#34;&#62;
&#60;div class=&#34;col col-bsdropdown1 col-xs-12 col-sm-5 text-left&#34;&#62;
&#60;div class=&#34;dropup&#34; style=&#34;float: left;&#34; id=&#34;carnetadr_scx-bsdropdown1&#34;&#62;
&#60;button class=&#34;btn btn-info dropdown-toggle&#34; type=&#34;button&#34; data-toggle=&#34;dropdown&#34; title=&#34;&#34;&#62;Copier les données &#60;span class=&#34;caret&#34;&#62;&#60;/span&#62;&#60;/button&#62;
&#60;ul class=&#34;dropdown-menu&#34;&#62;
&#60;li value=&#34;1&#34;&#62;&#60;a href=&#34;javascript:void(0)&#34;&#62;Copier le contact en cours dans le presse-papiers&#60;/a&#62;&#60;/li&#62;&#60;li role=&#34;separator&#34; class=&#34;divider&#34;&#62;&#60;/li&#62;&#60;li value=&#34;3&#34;&#62;&#60;a href=&#34;javascript:void(0)&#34;&#62;Export du carnet d&#38;#39;adresses&#60;/a&#62;&#60;/li&#62;
&#60;/ul&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;div class=&#34;col col-fermer col-xs-12 col-sm-7 text-right&#34;&#62;
&#60;button type=&#34;button&#34; id=&#34;carnetadr_scx-fermer&#34; class=&#34;carnetadr_scx-fermer btn-primary btn&#34; title=&#34;Fermer le travail en cours&#34; tabindex=&#34;7&#34; accesskey=&#34;F&#34;&#62;&#60;span class=&#34;fa fa-window-close text-&#34; aria-hidden=&#34;true&#34;&#62;&#60;/span&#62; Fermer&#60;/button&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;!--/ Généré le 18/07/2020 11:54:50 en 0,43&#160;sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 --&#62;

&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
&#60;/div&#62;
 	</DivHTML> 
 	<DivWidth>420px</DivWidth> 
 	<DivHeight>318px</DivHeight> 
 	<DivModal>true</DivModal>
 	<ObjAddr></ObjAddr>
 	<MethAddr></MethAddr>
 	<Theme>mac_os_x</Theme>
 	<Center>true</Center>
 	<Buttons>[false,false,false]</Buttons>
 	<QueryUnload></QueryUnload>
 	<Resizable>true</Resizable>
 	<MinMaxWH>-1,-1,-1,-1</MinMaxWH>
 	<Bootstrap>b</Bootstrap>
</HTMLDialog>
<Result><v>true</v><t>boolean</t></Result>
<script>jQuery('#').replaceWith('&#60;label id="" style="float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;"&#62;Inscrits: &#60;span class="label label-default" style="padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%";&#62;0 &#60;/span&#62;&#60;/label&#62;');
jQuery('#_txt').attr('placeholder', 'Rechercher un contact');
jQuery('#carnetadr_scx-compteur').replaceWith('&#60;label id="carnetadr_scx-compteur" style="float: right;margin-top: 3px;padding-bottom: 4px;visibility: visible;"&#62;Inscrits: &#60;span class="label label-default" style="padding: 5px 10px 5px 45px;margin-left: 5px;font-size: 85%";&#62;64 &#60;/span&#62;&#60;/label&#62;');
jQuery('#carnetadr_scx-listeauto_txt').attr('placeholder', 'Rechercher un contact');
jQuery('#carnetadr_scx-bsdropdown1').replaceWith('&#60;div class="dropup" style="float: left;" id="carnetadr_scx-bsdropdown1"&#62;\n&#60;button class="btn btn-info  dropdown-toggle" type="button" data-toggle="dropdown" title=""&#62;Copier les données  &#60;span class="caret"&#62;&#60;/span&#62;&#60;/button&#62;\n&#60;ul class="dropdown-menu"&#62;\n&#60;li value="1"&#62;&#60;a href="javascript:void(0)"&#62;Copier le contact en cours dans le presse-papiers&#60;/a&#62;&#60;/li&#62;&#60;li role="separator" class="divider"&#62;&#60;/li&#62;&#60;li value="3"&#62;&#60;a href="javascript:void(0)"&#62;Export du carnet d&#38;#39;adresses&#60;/a&#62;&#60;/li&#62;\n&#60;/ul&#62;\n&#60;/div&#62;');
jQuery('#carnetadr_scx-bsdropdown1 li').click(function(event){FoxInCloud.EventRequest('DOMEvent', event, this, jQuery(this).val(), "carnetadr_scx-bsdropdown1");});
/* Généré le 18/07/2020 11:54:50 en 0,43 sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 -- */
jQuery('#carnetadr_scx-waitpic').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-listeauto').typeahead({ minLength: 3 , highlight: true , items: 'all' , source: function(query, process){return jQuery.get('AJAXautoComp.sno?value=' + query + '&#38;ObjAddr=carnetadr_scx-listeauto', process)} , sorter: function(items){!items.length &#38;&#38; this.$menu.html(""); return items;} , afterSelect: function(item){jQuery('#carnetadr_scx-listeauto').select()} });
jQuery('#carnetadr_scx-listeauto').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-compteur').prop('effectShow', false).prop('effectHide', false);
(function(){
	var dStart = new Date();
	var grd = document.getElementById('carnetadr_scx-grid');
	if (grd){
		jQuery.extend(grd, {oGrid: new AW.UI.Grid, oTable: new AW.XML.Table});
		var oGrid = grd.oGrid, oTable = grd.oTable, oTempl;
		oGrid.defineCellProperty('CurrentControl', null);
		oGrid.defineControlProperty('DataUpdate', false);
		oGrid.setTabIndex("3");
		oGrid.setSelectorWidth(10);
		oGrid.getSelectorTemplate().setStyle('font-weight','bold');
		oGrid.setRowCount(64);
		oGrid.setCellEditable(true);
		oGrid.setCurrentColumn(-1);
		oGrid.setCellSelected(false, oGrid.getCurrentColumn(), oGrid.getCurrentRow());
		oGrid.setSelectionMode('single-row');
		oGrid.setSelectedRows([-1]);
		oGrid.setSelectedRows([parseInt(oGrid.getCurrentRow(), 10)]);
		oGrid.clearColumnModel();
		oGrid.setColumnCount(3);
		oGrid.setStyle('font-family','Arial');
		oGrid.setStyle('font-size','9pt');
		oGrid.setHeaderHeight(19);
		oGrid.setSize(undefined, 214);
		jQuery(grd)[FoxInCloud.posDimEffect ? "animate" : "css"]({"left": "10px"});
		oGrid.setSelectorVisible(true);
		oGrid.defineControlProperty('Statusbartext');
		oGrid.setControlStatusbartext('');
		jQuery(grd)[FoxInCloud.posDimEffect ? "animate" : "css"]({"top": "38px"});
		oGrid.setSize(399,undefined);
		oGrid.setColumnIndices([0,1,2]);
		oGrid.setCellEditable(true, 0);
		oGrid.setColumnResizable(true, 0);
		oGrid.setColumnWidth(292+1, 0);
		oGrid.setCellEditable(true, 1);
		oGrid.setColumnResizable(true, 1);
		oGrid.setColumnWidth(135+1, 1);
		oGrid.setCellEditable(true, 2);
		oGrid.setColumnResizable(true, 2);
		oGrid.setColumnWidth(116+1, 2);
		
		
		/* Column 0 'Column1' */
		oTempl = oGrid.getHeaderTemplate(0);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',0,undefined);
		oGrid.setCellCurrentControl('text1', 0);
		oTempl = oGrid.getCellTemplate(0);
		oTempl.setStyle('text-align','left');
		
		/* Column 1 'Column2' */
		oTempl = oGrid.getHeaderTemplate(1);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',1,undefined);
		oGrid.setCellCurrentControl('text1', 1);
		oTempl = oGrid.getCellTemplate(1);
		oTempl.setStyle('text-align','left');
		
		/* Column 2 'Column3' */
		oTempl = oGrid.getHeaderTemplate(2);
		oTempl.setStyle('text-align','left');
		oGrid.setCellTemplate('',2,undefined);
		oGrid.setCellCurrentControl('text1', 2);
		oTempl = oGrid.getCellTemplate(2);
		oTempl.setStyle('text-align','left');
		
		oGrid.setHeaderText('Nom', 0);
		oGrid.setCellEditable(true, 0);
		oGrid.setHeaderText('Prénom', 1);
		oGrid.setCellEditable(true, 1);
		oGrid.setHeaderText('Commune', 2);
		oGrid.setCellEditable(true, 2);
		var scrollTop = oGrid.getScrollTop();
		oGrid.setCellModel(oTable);
		oGrid.setVirtualMode(false);
		oTable.setURL("Temp/carnetadr_scx-grid.xml");
		oTable.setAsync(false);
		oTable.request();
		scrollTop &#38;&#38; oGrid.setScrollTop(scrollTop);
		
		oGrid.setSortDirection();
		oGrid.setSortDirection('ascending', 0);
		oGrid.refresh();
		oGrid.setCellTooltip('Double clic pour valider votre choix', 0, undefined);
		oGrid.setCellTooltip('Double clic pour valider votre choix', 1, undefined);
		oGrid.setCellTooltip('Double clic pour valider votre choix', 2, undefined);
		oGrid.defineRowProperty('tuRow', null);
		var srp = oGrid.setRowProperty.bind(oGrid);
		srp('tuRow','ABC IMMODIAG M. HUMEAU Pierre - SAINT NAZAIRE (44600) _5SS0WE8QM',0);srp('tuRow','ABC IMMODIAG Max SIBERIL - NANTES (44000) _5SS0WE8QN',1);srp('tuRow','ABRISAIN Mme DEBRAY Patricia - ST ANDRE DES EAUX (44117) _5SS0WE8PO',2);srp('tuRow','AC ENVIRONNEMENT  - SCHILTIGHEIM (67300) _5SS0WE8QX',3);srp('tuRow','ACTIV\ EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);srp('tuRow','AGENCE ARC ATLANTIQUE Laurent BOUCHER - BAIN DE BRETAGNE (35470) _5SS0WE8Q4',5);srp('tuRow','AGENCE DIAGNOSTICS IMMOBILIERS PACA  - SALERNES (83690) _5SS0WE8QV',6);srp('tuRow','AGENCE DU GRAND LARGE GUEZOU Thomas - LA BAULE-ESCOUBLAC (44500) _5SS0WE8PY',7);srp('tuRow','AGENDA DIAG 44 Hervé Fravalo - ST BREVIN LES PINS (44250) _5SS0WE8QD',8);srp('tuRow','AGENDA Jonathan MENEGON - LA BAULE ESCOUBLAC (44500) _5SS0WE8PN',9);srp('tuRow','AGENTYS SAINT MANDE Olivier HAMOU - ST MANDE (94160) _5SS0WE8PX',10);srp('tuRow','AGEXIA Trochet - LE RAINCY (93340) _5SS0WE8Q7',11);srp('tuRow','AGIPORT SYNDIC ET GESTION  - PORNICHET (44380) _5SS0WE8QT',12);srp('tuRow','AJP - AGENCE DU DAUPHIN Madame Nathalie DERVAL - PORNICHET (44380) _5SS0WE8Q5',13);srp('tuRow','APROGIM  - ST NAZAIRE (44600) _5SS0WE8PH',14);srp('tuRow','BASILE RICHARD IMMOBILIER Basile RICHARD - CUGAND (85610) _5SS0WE8QP',15);srp('tuRow','BODIN PLAGE IMMOBILIER PIAU Emmanuelle - ST BREVIN LES PINS (44250) _5SS0WE8PZ',16);srp('tuRow','CABINET BOSSARD BOSSARD - REZE (44400) _5SS0WE8QL',17);srp('tuRow','CABINET C.H.V. hugues Vartanian - ST MAUR DES FOSSES (94100) _5SS0WE8Q0',18);srp('tuRow','CABINET D'EXPERTISES BAPTISTE SOUILLÉ  - MARMANDE (47200) _5SS0WE8QW',19);srp('tuRow','CABINET IMMOBILIER MACE Christophe - LA BAULE ESCOUBLAC (44500) _5SS0WE8QK',20);srp('tuRow','CABINET JACQUES ARAV  - PARIS 16 (75016) _5SS0WE8R0',21);srp('tuRow','CABINET LOCGEST Patrick MABILAIS - LA BAULE ESCOUBLAC (44500) _5SS0WE8Q2',22);srp('tuRow','CABINET LOISY EXPERTISES BATIMENT Patrick LOISY - PORNICHET (44380) _5SS0WE8PE',23);srp('tuRow','CABINET MACE  - LA BAULE ESCOUBLAC (44503) _5SS0WE8PF',24);srp('tuRow','CABINET PAQUEREAU  - LA BAULE ESCOUBLAC (44505) _5SS0WE8PG',25);srp('tuRow','CAPPEX DIAGNOSTICS IMMOBILIERS PENOS Isabelle - LE POULIGUEN (44510) _5SS0WE8PR',26);srp('tuRow','CHANTAL RIGHI AGENT MANDATAIRE OPTIMHOME RIGHI Chantal - SAINT-NAZAIRE (44600) _5SS0WE8PT',27);srp('tuRow','COCOONING  - VALLET (44330) _5SS0WE8QS',28);srp('tuRow','COTE DEMEURES - GHI Emmanuel BERANGER - LA BAULE ESCOUBLAC (44500) _5SS0WE8PQ',29);srp('tuRow','DETEX  - ST NAZAIRE (44600) _5SS0WE8PV',30);srp('tuRow','DETEX GALLARD Valérie - ST NAZAIRE (44600) _5SS0WE8QH',31);srp('tuRow','DIAG\ AGENCES  - STE LUCE SUR LOIRE (44980) _5SS0WE8QE',32);srp('tuRow','DIAGNOSTIQUES ENVIRONNEMENT PREVENTION CZYZ Thomas - NEUILLY PLAISANCE (93360) _5SS0WE8Q8',33);srp('tuRow','DIAGONAL/KAPECO PERRARD - GUERANDE (44350) _5SS0WE8Q6',34);srp('tuRow','DRUARD Alexandre - LE TAMPON (97430) _5SS0WE8QG',35);srp('tuRow','DUGAST EXPERTISE Philippe DUGAST - STE LUCE SUR LOIRE (44980) _5SS0WE8R6',36);srp('tuRow','EMCV ACTIV' EXPERTISE SUCY EN BRIE  - LIMEIL BREVANNES (94450) _5SS0WE8QU',37);srp('tuRow','ESTU\AIRES Mr RONGIER LAURENT - COUERON (44220) _5SS0WE8QR',38);srp('tuRow','EXABITAT Mr Adrien MENANT - LA BAULE ESCOUBLAC (44500) _5SS0WE8QO',39);srp('tuRow','FONCIA  - LA BAULE ESCOUBLAC CEDEX (44504) _5SS0WE8PJ',40);srp('tuRow','FONCIA GOBELINS Ranaivojaona Kanto - PARIS CEDEX 14 (75682) _5SS0WE8R5',41);srp('tuRow','HEYDIAG  - PARIS 08 (75008) _5SS0WE8QA',42);srp('tuRow','HORIZON CONTROLE ET FORMATION  - AUBERVILLIERS (93305) _5SS0WE8QZ',43);srp('tuRow','IDF - IMMO DIAG FRANCE Francisco JIMENEZ - ST MAUR DES FOSSES (94100) _5SS0WE8Q1',44);srp('tuRow','L\OEIL DE L\EXPERT FERNANDES Francisco - 95003 (95003) _5SS0WE8PS',45);srp('tuRow','LEPAGE DIDIER - LAVAL (53000) _5SS0WE8R2',46);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) ERBETTA Patricia - SAINTE ANNE (97180) _5SS0WE8R1',47);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) LOUVARD Jacky - CHANGE (53810) _5SS0WE8R3',48);srp('tuRow','NORD SUD IMMO (DR HOUSE IMMO) MARGERIT Pascal - AUREC SUR LOIRE (43110) _5SS0WE8R4',49);srp('tuRow','OUEST EXPERTISE  - REZE CEDEX (44405) _5SS0WE8PW',50);srp('tuRow','OUEST EXPERTISE Fabien MELOTTE - REZE CEDEX (44405) _5SS0WE8Q3',51);srp('tuRow','OUEST EXPERTISE Thomas Arnoud - ANDREZEL (44400) _5SS0WE8QJ',52);srp('tuRow','OUEST UNION JOUAN Sébastien - LA BAULE ESCOUBLAC (44500) _5SS0WE8PM',53);srp('tuRow','OUEST UNION Sébastien JOUAN - LA BAULE ESCOUBLAC (44500) _5SS0WE8PI',54);srp('tuRow','PANURGE Stéphanie - ST PIERRE (97410) _5SS0WE8QF',55);srp('tuRow','PAQUEREAU  - LA BAULE ESCOUBLAC (44500) _5SS0WE8PP',56);srp('tuRow','PROMOTHEUS Arnaud EMOND - CRÉTEIL (94000) _5SS0WE8Q9',57);srp('tuRow','QUADRAL IMMOBILIER  - PARIS 10 (75010) _5SS0WE8QY',58);srp('tuRow','SARL ATLANTIQUE CIRRUS Raphaêl BOSSY - LE TEMPLE DE BRETAGNE (44360) _5SS0WE8PU',59);srp('tuRow','THIERRY IMMOBILIER  - NANTES (44010) _5SS0WE8QC',60);srp('tuRow','TOUIKI Frédéric - MERY-SUR-OISE (95540) _5SS0WE8QB',61);srp('tuRow','VILLA MYRTIL Chantal GUILLOUARD - VERSAILLES (78000) _5SS0WE8PL',62);srp('tuRow','WINDAL ET KLEIN  - LE POULIGUEN (44510) _5SS0WE8QI',63);
		srp = null;
		oGrid.defineRowProperty('Clicked', false);
		if (FoxInCloud.gridRowChangeDelay &#62; 0){
			oGrid.onRowMouseDown = function(event, row){this.setRowClicked(true, row)};
			oGrid.onRowMouseUp = function(event, row){this.setRowClicked(false, row)};
		}
		oGrid.onCurrentRowChanged = function(row){
			var value = this.getRowProperty('tuRow', row);
			if (!(this.disabled || value === null)){
				var rowClicked = this.getRowClicked(row)
				, grd = document.getElementById('carnetadr_scx-grid');
				if (FoxInCloud.gridRowChangeDelay &#62; 0 &#38;&#38; (!rowClicked || FoxInCloud.gridRowChangeDelayClicked &#62; 0)){
					this.nTOrow &#38;&#38; window.clearTimeout(this.nTOrow);
					this.nTOrow = window.setTimeout(jQuery.proxy(FoxInCloud.gridMethod, FoxInCloud), FoxInCloud[rowClicked ? 'gridRowChangeDelayClicked' : 'gridRowChangeDelay'] * 1000, 'wAfterRowChange', grd, value);
				}
				else FoxInCloud.gridMethod('wAfterRowChange', grd, value);
			}
		};
		
		oGrid.onControlDoubleClicked = function(event){
			if(event.cancelBubble) return;
			event = jQuery.event.fix(event);
			if(event.which === 1){
				return FoxInCloud.gridEvent(event, 'carnetadr_scx-grid');
			}
		};
		
		oGrid.onCellValidating = function(text, col, row){
			var result, dynCC, template, fmt, value, done;
			col = parseInt(col, 10);
			if (typeof row === 'undefined') {
				template = this.getCellTemplate(col);
				dynCC = this.getCellCurrentControl(col);
			}
			else {
				row = parseInt(row, 10);
				dynCC = this.getCellCurrentControl(col,row);
				template = this.getCellTemplate(col,row);
			}
			if (template.disabled) return;
			if (template.readOnly) return;
			if (typeof text === 'string'){
				fmt = this.getCellFormat(col, row);
				value = fmt ? fmt.textToValue(text) : text;
			}
			switch (col){
				case 0: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column1-text1', true); done=!result; break;}
				case 1: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column2-text1', true); done=!result; break;}
				case 2: if(dynCC === 'text1'){result = FoxInCloud.gridEditEvent('blur', 'carnetadr_scx-grid', value, 'carnetadr_scx-grid-column3-text1', true); done=!result; break;}
			}
			if (done){
				var cols = this.getColumnCount(), rows = this.getRowCount(), done = false, row_ = row;
				col++;
				while (row &#60; rows &#38;&#38; !done) {
					if (this.getCellEditable(col,row)) {
						this.setSelectedColumns([col]);
						this.setCurrentColumn(col);
						if (row !== row_){
							this.setSelectedRows([row]);
							this.setCurrentRow(row);
						}
						done = true;
					}
					else {
						col++;
						if (col &#62;= cols){
							col = 0;
							row++;
						}
					}
				}
			}
			return result;
		};
		
		oGrid.onKeyBackspace = function(event){
			event = jQuery.event.fix(event);
			event.stopPropagation();
			event.preventDefault();
		};
		
		oGrid.setSelectedRows([-1]);
		oGrid.setSelectedRows([0]);
		oGrid.disabled = true;
		oGrid.setCurrentRow(0);
		oGrid.disabled = false;
		jQuery(grd).html(oGrid.toString());
	}
	dStart = new Date() - dStart;
	window.console &#38;&#38; console.log &#38;&#38; console.log("'carnetadr_scx-grid' grid script took 69 ms. to generate on the server, " + dStart + " ms to execute on the browser, total " + (dStart + 69) + " ms.\n" + 'awhtml.fxp!Ogrid.gethtml_grd_aw_cscript_() - state changes &#62; JavaScript: 31 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_() - current state XML 32 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs_calias() - .RecordSource "CCarnetadr" &#62; RecordSet using Select-SQL: 16 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs_calias() - Current record located using unique key expression "PADR(ALLTRIM(CCarnetadr.NOM)+" "+ALLTRIM(CCarnetadr.PRENOM)+" - "+ALLTRIM(CCarnetadr.COMMUNE)+" ("+CCarnetadr.CODEPOSTAL+")"+" "+CCarnetadr.IDUNIQUE,120)" = "ABC IMMODIAG M. HUMEAU Pierre - SAINT NAZAIRE (44600) _5SS0WE8QM                                                        ": 0 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cxml_rs() - \CCarnetadr\ RecordSet &#62; XML (64 rows): 0 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_oxmlchanges() - state changes: 0 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_rs() - data changes &#62; JS: 16 ms.\nawhtml.fxp!Ogrid.gethtml_grd_aw_cscript_events() - event handlers: 15 ms.');
})();
jQuery('#carnetadr_scx-retirer').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-modifier').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-ajouter').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-bsdropdown1').prop('effectShow', false).prop('effectHide', false);
jQuery('#carnetadr_scx-fermer').prop('effectShow', false).prop('effectHide', false);
FoxInCloud.formActivateObserve('carnetadr_scx', null, null);
jQuery('#carnetadr_scx').prop('wuValue ', null);
FoxInCloud.XBrowserFix('carnetadr_scx');
jQuery('#carnetadr_scx').prop('effectShow', true).prop('effectHide', true);
jQuery('#carnetadr_scx-listeauto').on('change', jQuery.proxy(FoxInCloud.DOMEvent, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-retirer').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-modifier').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-ajouter').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
jQuery('#carnetadr_scx-fermer').on('click', jQuery.proxy(FoxInCloud.LeftClick, FoxInCloud, undefined, false));
var inputs = jQuery("#carnetadr_scx *[tabindex]:not(div):not(.aw-grid-control, .aw-control-focus)")
.filter(function(){return this.tabIndex &#62; 0;})
.sort(function(a,b){return a.tabIndex - b.tabIndex;});
inputs.each(function(idx, elt){
jQuery(elt).on('keydown', function(e){
var $this = jQuery(this), keyCode = e.which;
if (!(keyCode === 9 || keyCode === 13 &#38;&#38; $this.is('input, select') &#38;&#38; !($this.is('input.typeahead') &#38;&#38; $this.data('typeahead')['shown']))) return;
if (keyCode === 9) e.preventDefault();
FoxInCloud.lastKey = keyCode;
var inputTo
, inputTos = e.shiftKey ? jQuery(inputs.slice(0).get().reverse()) : inputs.slice(0)
, index = inputTos.index(this)
;

!inputTo &#38;&#38; inputTos.each(function(idx, inpTo){
inpTo = jQuery(inpTo);
if (true
&#38;&#38; idx &#62; index
&#38;&#38; inpTo.prop('tabIndex') &#62; 0
&#38;&#38; !inpTo.prop('disabled')
&#38;&#38; inpTo.is(':visible')
){
inputTo = inpTo;
return false;
}
});

!inputTo &#38;&#38; inputTos.each(function(idx, inpTo){
inpTo = jQuery(inpTo);
if (true
&#38;&#38; idx &#60; index
&#38;&#38; inpTo.prop('tabIndex') &#62; 0
&#38;&#38; !inpTo.prop('disabled')
&#38;&#38; inpTo.is(':visible')
) {
inputTo = inpTo;
return false;
}
});

var nextFocus = function(){
if (FoxInCloud.lDialog){
if (FoxInCloud.$Dialog) FoxInCloud.$Dialog.data('oSrce', inputTo);
}
else  inputTo
&#38;&#38; !FoxInCloud.lDialog
&#38;&#38; !inputTo.is(':focus')
&#38;&#38; inputTo.focus()
&#38;&#38; (!(keyCode === 13 &#38;&#38; inputTo.is('textarea, button')) || e.preventDefault() || true)
&#38;&#38; true
&#38;&#38; window.console &#38;&#38; console.log &#38;&#38; console.log('tabbing to #' + inputTo.attr('id'))
;
};

$this.blur();

if (FoxInCloud.lRequest) FoxInCloud.AjaxComplete__ = nextFocus;
else nextFocus();
});
});
window.setTimeout(function(){jQuery('#carnetadr_scx-listeauto').focus();}, 500);
/* -- Généré le 18/07/2020 11:54:50 en 0,43 sec. par FAS version 2.31.0-beta.3 du 25/06/2020 11:31:10 */;
jQuery('#carnetadr_scx').addClass('container-fluid');</script>
<UserID>5TE0KMCLZ</UserID>
<reqID>1723_5TG0PJ9UC-001</reqID>
<ServerVersion>2.31.0-beta.3</ServerVersion>
<ServerTimeStamp>{^2020-06-25 11:31:10 AM}</ServerTimeStamp>
<AppTime>1.188</AppTime>
<ServerTime>2.481800</ServerTime></IntuiCat>
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 03:19am

something wrong probably happened when restoring cLitteralJS() because \' is now \ in srp('tuRow','ACTIV\ EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 03:22am

I see that the name is ACTIV' EXPERTISE

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 03:25am

srp('tuRow','ACTIV\ EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);

should read

srp('tuRow','ACTIV\' EXPERTISE Grégoire WILLEFERT - GETIGNE (44190) _5SS0WE8QQ',4);

maybe we've reached the limit of forum support, we may need to switch to private support.

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 03:30am

I understand, but there is nothing urgent.

I'll make it right in the meantime.

As a reminder, the 1st correction worked well

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 05:41am

the first correction worked well

Only because your index is in collate “General”, with “machine” (most general case) it’d fail.

I prefer generic solutions that work in all cases.

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 08:11am

Well.

For the moment, with this, all is in order:

REPLACE ALL Nom WITH STRTRAN (Nom, "’", "'") IN Carnetadr
Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  FoxInCloud Support - Thierry N.
  Vincent H.
  Jul 18, 2020 @ 09:25am

Alas we’ve lost our test case… hopefully you’ve saved the original table

Gravatar is a globally recognized avatar based on your email address. re: grid - recordSource
  Vincent H.
  FoxInCloud Support - Thierry N.
  Jul 18, 2020 @ 09:30am

Of course ... I see you coming, you wanted to be rid of 😃

© 1996-2020