IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Conflit entre DataGrid et BorderContainer sous IE [Dojo]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Vow
    Vow est déconnecté
    Membre éprouvé Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par défaut Conflit entre DataGrid et BorderContainer sous IE
    Bonjour

    Les besoins (je parlerais de caprices en fait) de certains clients m'ont fait venir à utiliser la librairie Dojo. Plus exactement le DataGrid, par rapport à la fonctionnalité de redimensionnement des colonnes.

    J'ai donc mis en place avec succès ce nouveau tableau.
    J'ai mis en place ensuite un AccordionContainer dans une partie à part (une sorte de menu sur la gauche). Ca a fonctionné sans problème.

    Après cela, j'ai modifié mon treeview perso par le Tree de Dojo, et en même temps en mettant un BorderContainer pour séparer la zone de visualisation (où peut se trouver le DataGrid, entre autre) de ce menu.
    Sans le Datagrid, tout est parfait...
    Mais si je veux voir le tableau en même temps, ça plante... sous IE (6 et 7) du moins, puisqu'en testant sur FireFox, pas de soucis.

    En passant par le site, j'obtiens une alerte :
    Internet Explorer ne peut pas ouvrir le site (adresse)

    Opération abandonnée.
    Si je passe directement par le fichier (en file:///), je peux apercevoir le tout mais avec un soucis de formatage du tableau. Ou sinon le même message d'erreur.

    Est-ce que c'est "normal" ? Je croyais que Dojo n'avait justement pas le défaut d'être limité aux navigateurs.
    Vous avez besoin du code pour en savoir plus ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    Bonjour,

    Je suis assez surpris que cela ne fonctionne pas. Quelle version de dojo utilisez vous ?

    J'ai des datagrid dans des contenpane qui sont dans des bordercontainer et je n'ai pas de soucis.

    Eventuellement, si vous pouvez montrer le code cela pourra éclairer.

  3. #3
    Vow
    Vow est déconnecté
    Membre éprouvé Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par défaut
    La dernière version, je dirais : 1.4.1


    Voici le code "nettoyé" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    <HTML>
    <HEAD>
    <TITLE>Consult. - Consultation</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
     
    <LINK REL="shortcut icon" type="image/x-icon" href="favicon.ico" />
    <LINK REL="icon" type="image/gif" href="favicon.gif">
     
    <LINK REL=stylesheet TYPE=text/css HREF="res/Consult.css">
     
    <script type="text/javascript">
    	// Pour Dojo
    	var djConfig = {
    		parseOnLoad: true,
    		isDebug: true
    	};
    </script>
    <script src="include/dojo/dojo/dojo.js"></script>
    <script type="text/javascript">
    	dojo.require("dijit.layout.BorderContainer");
    	dojo.require("dijit.layout.AccordionContainer");
     
    	dojo.require("dijit.Tree");
    	dojo.require("dijit.tree.ForestStoreModel");
    	dojo.require("dojo.data.ItemFileWriteStore");
     
    	dojo.require("dojo.parser");  
    </script>
     
    <style type="text/css">
    	@import "./include/dojo/dojo/resources/dojo.css";	
    	@import "./include/dojo/dijit/themes/nihilo/nihilo.css";
    </style>
     
     
     
    </HEAD>
     
    <BODY class="nihilo">
     
    <div id="ProfilBar" align="right">
    <table border="0"><tr>
    <td align="center" width="80"><a href="/ssafe_c/consult.php?go=profil" class="Style-lien">Mon profil</a></td>
    <td align="center" width="100"><a href="logout.php" class="Style-lien"><img src="./res/cross.png" alt="D&eacute;connexion" border="0">D&eacute;connexion</a></td>
    </tr></table></div>
     
    <DIV BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%; overflow: hidden; ">
    <TABLE BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%;">
    <TR HEIGHT="10">
    <TD>
     
    <!-- Entête -->
    <TABLE CLASS="l-1" BORDER="0" WIDTH="100%">
     
    <TD WIDTH=10 ROWSPAN=2 />
    <TD ROWSPAN=2 CLASS="Titre-Logo"><img src="res/safe.gif" hspace=0 vspace=2 border=0>
    <BR><FONT CLASS="Style-Libelle-Titre-Logo-">Consultation XXX</FONT></TD>
    <TD CLASS="Style-libelle-titre" ID="TITREPAGE" VALIGN="top" ALIGN="CENTER">CONSULTATION</TD>
    <TD></TD>
    <TD></TD>
    </TR>
     
    <TD CLASS="Style-Libelle-bienvenue" VALIGN="top" ALIGN="CENTER">Bienvenue <I>Lionel</I> (<SPAN CLASS="Style-Etat-Connectes">3 connect&eacute;s</SPAN>)</TD>
    <td width="150" CLASS="Style-Libelle" STYLE="text-align: right;" id="heure"> 
    <script type="text/javascript">
     
    function UR_Start() 
    {
    	var UR_Nu = new Date;
    	UR_Indhold = showFilled(UR_Nu.getDate()) + "/" + showFilled(UR_Nu.getMonth() + 1) + "/" + showFilled(UR_Nu.getYear()) + " " + showFilled(UR_Nu.getHours()) + ":" + showFilled(UR_Nu.getMinutes()) + ":" + showFilled(UR_Nu.getSeconds());
    	document.getElementById("heure").innerHTML = UR_Indhold;
    	setTimeout("UR_Start()",1000);
    }
    function showFilled(Value) 
    {
    	return (Value > 9) ? "" + Value : "0" + Value;
    }
     
    UR_Start();
     
    </script>
    </td>
    </TR>
    </TABLE>
     
    </TD>
    </TR>
    <TR>
    <TD VALIGN="TOP">
     
    <div id="main" style="width: 100%; height: 100%" dojoType="dijit.layout.BorderContainer">
    <div dojoType="dijit.layout.ContentPane" region="leading" CLASS="l-2" splitter="true">
    <DIV dojoType="dijit.layout.AccordionContainer" id="acc01">
    <DIV dojoType="dijit.layout.AccordionPane" title="Archives" BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%;">
    <script type="text/javascript">
     
    var storeArcs = new dojo.data.ItemFileWriteStore({data: { identifier: "key", label: "name", items: []}});
     
    storeArcs.newItem({key: "a_256", name: "a_256", ARC_ID: "40"});
    storeArcs.newItem({key: "a_mecanno", name: "a_mecanno", ARC_ID: "37"});
    storeArcs.newItem({key: "a_plante", name: "a_plante", ARC_ID: "41"});
    storeArcs.newItem({key: "a_senat", name: "a_senat", ARC_ID: "67"});
    storeArcs.newItem({key: "laurent", name: "laurent"});
    storeArcs.fetchItemByIdentity({identity: "laurent",
    						onItem : function(item) {
    							storeArcs.newItem({key: "truc::test", name: "test"}, {parent: item, attribute:"children"}); 
    					}});
    storeArcs.fetchItemByIdentity({identity: "truc::test",
    					onItem : function(item) {
    						storeArcs.newItem({key: "truc::test::mecano", name: "mecano", ARC_ID: "38"}, {parent: item, attribute:"children"}); 
    				}});
    storeArcs.newItem({key: "md5_sha256", name: "md5_sha256", ARC_ID: "44"});
    storeArcs.newItem({key: "pdf_archive", name: "pdf_archive", ARC_ID: "7"});
    storeArcs.newItem({key: "xml0306", name: "xml0306", ARC_ID: "45"});
    storeArcs.newItem({key: "xml1004", name: "xml1004", ARC_ID: "36"});
     
     
    var modelArcs = new dijit.tree.ForestStoreModel({
            store: storeArcs,
    		rootLabel: "Liste des archives"
    });
     
    </script>
    	<div dojoType="dijit.Tree" id="treeArcs"
    		model="modelArcs" openOnClick="true" onLoad="console.log('loaded arcs tree');">
    		<script type="dojo/method" event="onClick" args="item">
    			var arcID = storeArcs.getValue(item, "ARC_ID");
    			if (arcID)
    				document.location = "consult.php?go=arc&arc="+arcID;
    		</script>
    	</div>
    </DIV>
    <DIV dojoType="dijit.layout.AccordionPane" title= "Dossiers" BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%;">
     
     
    <script type="text/javascript">
     
    var storeDossier = new dojo.data.ItemFileWriteStore({data: { identifier: "key", label: "name",  items: []}});
     
    var modelDossier = new dijit.tree.ForestStoreModel({
            store: storeDossier,
    		rootLabel: "Liste des dossiers"
    });
     
     
    </script>
     
    	<div dojoType="dijit.Tree" id="treeBind"
    		model="modelDossier" openOnClick="true" onLoad="console.log('loaded binders tree');">
    		<script type="dojo/method" event="onClick" args="item">
    			var bindID = storeArcs.getValue(item, "BIND_ID");
    			if (bindID)
    				document.location = "consult.php?go=bind&bind="+bindID;
    		</script>
    		<script type="dojo/method" event="onOpen" args="item">
    			//console.log("Open of node " + storeDossier.getLabel(item));
    		</script>
    		<script type="dojo/method" event="onClose" args="item">
    			//console.log("Close of node " + storeDossier.getLabel(item));
    		</script>
    	</div>
     
     
    </DIV>
    </DIV>
    </DIV>
     
    <DIV dojoType="dijit.layout.ContentPane" region="center" title="Archives" BORDER="0">
    <FORM NAME=f1 target=_self METHOD=POST>
    <TABLE BORDER=0>
    <TR>
    <TD HEIGHT=10 COLSPAN=4><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    </TR>
     
    <TR>
    <TD WIDTH=30><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    <TD WIDTH=70><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    <TD WIDTH=600 STYLE="padding: 0px; marging: 0px; border: 0px; ">
    1098 documents (150 affichés)
    </TD>
    <TD><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    </TR>
     
    <TR>
    <TD HEIGHT=10 COLSPAN=4><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    </TR>
     
    <TR>
    <TD></TD>
    <TD COLSPAN=2 BGCOLOR=WHITE HEIGHT=300 STYLE="border-bottom: 2px solid #CECECE; border-right: 2px solid #CECECE; padding: 10px 25px 10px 25px; ">
    <style type="text/css">
    	@import "./res/grid.css";
    </style>
     
    <script type="text/javascript">
     
    dojo.require("dojox.grid.DataGrid");
     
    var layoutData = [[
    	{field: "ARC_DOC_ID", name: "ARC_DOC_ID", width:"0px", styles: 'display: none;'},
    	{field: "Nom_Prenom", name: "Nom_Prenom", width:"200px", classes:'dojoxGridColString'},
    	{field: "Num_Titre", name: "Num_Titre", width:"80px", classes:'dojoxGridColInt'},
    	{field: "Num_Bordereau", name: "Num_Bordereau", width:"80px", classes:'dojoxGridColInt'},
    	{field: "Num_Dossier_Interne", name: "Num_Dossier_Interne", width:"80px", classes:'dojoxGridColInt'},
    	{field: "Date_Emission", name: "Date_Emission", width:"80px", classes:'dojoxGridColString'},
    	{field: "Cpte_Tiers", name: "Cpte_Tiers", width:"80px", classes:'dojoxGridColInt'},
    	{field: "Date_Entree", name: "Date_Entree", width:"80px", classes:'dojoxGridColString'}
    ]];
     
     
    var storeData = new dojo.data.ItemFileWriteStore({data: { identifier: "ARC_DOC_ID", items: []}});
    storeData.newItem({ARC_DOC_ID: "0", Nom_Prenom: "BOUTEFIN MARCEL", Num_Titre: "-23823", Num_Bordereau: "102", Num_Dossier_Interne: "207137725", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
    storeData.newItem({ARC_DOC_ID: "1", Nom_Prenom: "PECHOT JEAN", Num_Titre: "-23822", Num_Bordereau: "102", Num_Dossier_Interne: "207153628", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
    storeData.newItem({ARC_DOC_ID: "2", Nom_Prenom: "GANTIER JACQUES", Num_Titre: "-23821", Num_Bordereau: "102", Num_Dossier_Interne: "207156688", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
    storeData.newItem({ARC_DOC_ID: "3", Nom_Prenom: "CHAPPROUX FRANCOISE", Num_Titre: "-23820", Num_Bordereau: "102", Num_Dossier_Interne: "207175660", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
    storeData.newItem({ARC_DOC_ID: "4", Nom_Prenom: "HURTON J-LUC", Num_Titre: "-23819", Num_Bordereau: "102", Num_Dossier_Interne: "207181474", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
    storeData.newItem({ARC_DOC_ID: "5", Nom_Prenom: "BARLER M-ODILE", Num_Titre: "-23818", Num_Bordereau: "102", Num_Dossier_Interne: "207201058", Date_Emission: "02/04/2003", Cpte_Tiers: "41151", Date_Entree: "03/01/2003"});
     
     
    function noSort(index)
    {
    	return false;
    }
     
     
    function selectInForm()
    {
    	var items = grid0.selection.getSelected();
    	alert("ok");
    	if(items.length)
    	{
    		dojo.forEach(items, function(selectedItem) {
    			if(selectedItem !== null) 
    			{
    				var docSel = document.createElement('INPUT');
    				docSel.setAttribute('type', 'hidden');
    				docSel.name = 'selItem[]';
    				docSel.value = grid0.store.getValues(selectedItem, "ARC_DOC_ID");
    				docSel.setAttribute('checked', true);
    				document.f1.appendChild(docSel);
    			}
    		});
    	}
    	return true;
    }
     
     
    </script>
    <table dojoType="dojox.grid.DataGrid" jsid="grid0" id="grid0" style="height: 500px;" autoWidth="true" autoHeight="true"
    			store="storeData" structure="layoutData"
    			canSort='noSort' clientSort="false" columnReordering="true" 
    			rowSelector="20px" selectionMode="multiple"
    			loadingMessage="Chargement..." errorMessage="Erreur !">
    </table>
    </TD>
    <TD></TD>
    </TR>
     
    <TR>
    <TD><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    <TD><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    <TD STYLE="padding: 0px; marging: 0px; border: 0px; ">
    <!--
    1 <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=2'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">2</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=3'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">3</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=4'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">4</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=5'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">5</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=6'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">6</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=7'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">7</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=8'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">8</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=9'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">9</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=10'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">10</A>
    -->
    </TD>
    <TD><FONT style="font-size: 5px">&nbsp;</FONT></TD>
    </TR>
     
    </TABLE>
    </FORM>
    </DIV>
    </DIV>
     
    </TD>
    </TR>
    </TABLE>
    </DIV>
     
    </BODY>
    </HTML>
    A noter que le fichier Consult.css contient les classes utilisés pour le DataGrid (je compte migrer les classes utiles pour Dojo Toolkit dans mon répertoire "spécial include", afin de me décharger des styles propriétaires).

    En tout cas, merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    J'avance petit à petit sur votre soucis.
    Tout d'abord :
    Internet Explorer ne peut pas ouvrir le site (adresse)

    Opération abandonnée.
    Cela est dû au script d'affichage de l'horloge. J'ai cherché pendant un petit moment mais des que je l'ai enlevé ça allait mieux.

    Pour ce qui est de l'affichage du datagrid, je ne vois pas du tout pourquoi cela fait ça. Bien que mon hypothèse est : Internet explorer n'interprète pas de la même façon que Firefox. Lors du parse de dojo, celui-ci crée des balises <div>,<table>,<tr>,<td>, etc... il suffit d'une balise <table> ou <div> mal fermée pour que ça nuise à la création d'un tableau. Et bien que le framework Dojo essaie d'être accessible pour ces deux plateformes, il est évident que Firefox l'accepte bien plus aisément.
    toutefois, j'ai, éventuellement, une solution. Je vous en fait part à vous de voir si vous souhaitez l'utiliser.
    L'idée c'est qu'un borderContainer est le centre de l'affichage. Chaque bloc div (contentpane) contenu à l'intérieur peut recevoir le code que vous souhaitez comme par exemple l'entête recevrait l'ensemble des tables et div que vous avez défini.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
     
    <html>
    <head>
    <TITLE>Consult. - Consultation</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
     
    <LINK REL="shortcut icon" type="image/x-icon" href="favicon.ico" />
    <LINK REL="icon" type="image/gif" href="favicon.gif">
     
    <LINK REL=stylesheet TYPE=text/css HREF="res/Consult.css">
     
    <script type="text/javascript" src="./include/dojo/dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
    <style  type="text/css">
    	@import "./include/dojo/dojo/resources/dojo.css";
    	@import "./include/dojo/dijit/themes/nihilo/nihilo.css";
     
    	/*Pour que le bordercontainer soit sur toute la page*/
    	html, body, #main { height: 100%; width: 100%; margin: 0; padding: 0; }
    </style>
    </head>
    <body  class="soria">
    	<script type="text/javascript">
    		dojo.require("dojox.layout.ContentPane");
    		dojo.require("dijit.layout.AccordionContainer");
    		dojo.require("dijit.layout.BorderContainer");
    		dojo.require("dojox.grid.DataGrid");
    		dojo.require("dojo.data.ItemFileWriteStore");	
     
    		dojo.require("dijit.Tree");
    		dojo.require("dijit.tree.ForestStoreModel");
    	</script>
     
    	<div id="main" dojoType="dijit.layout.BorderContainer" design="headline">
    		<div id="ProfilBar" align="right">
    		<table border="0"><tr>
    		<td align="center" width="80"><a href="/ssafe_c/consult.php?go=profil" class="Style-lien">Mon profil</a></td>
    		<td align="center" width="100"><a href="logout.php" class="Style-lien"><img src="./res/cross.png" alt="D&eacute;connexion" border="0">D&eacute;connexion</a></td>
    		</tr></table></div>
    		<!-- Entête -->
    			<div dojoType="dijit.layout.ContentPane" region="top">
    			<TABLE CLASS="l-1" BORDER="0" WIDTH="100%">
    				<TD WIDTH=10 ROWSPAN=2 />
    				<TD ROWSPAN=2 CLASS="Titre-Logo"><img src="res/safe.gif" hspace=0 vspace=2 border=0>
    					<BR><FONT CLASS="Style-Libelle-Titre-Logo-">Consultation XXX</FONT>
    				</TD>
    				<TD CLASS="Style-libelle-titre" ID="TITREPAGE" VALIGN="top" ALIGN="CENTER">
    					CONSULTATION
    				</TD>
    				<TD></TD>
    				<TD></TD>
    				</TR>
    				<TD CLASS="Style-Libelle-bienvenue" VALIGN="top" ALIGN="CENTER">
    					Bienvenue <I>Lionel</I> (<SPAN CLASS="Style-Etat-Connectes">3 connect&eacute;s</SPAN>)
    				</TD>
    				<td width="150" CLASS="Style-Libelle" STYLE="text-align: right;" id="heure"> 
    				<script type="text/javascript">
    					// function UR_Start() 
    					// {
    						// var UR_Nu = new Date;
    						// UR_Indhold = showFilled(UR_Nu.getDate()) + "/" + showFilled(UR_Nu.getMonth() + 1) + "/" + showFilled(UR_Nu.getYear()) + " " + showFilled(UR_Nu.getHours()) + ":" + showFilled(UR_Nu.getMinutes()) + ":" + showFilled(UR_Nu.getSeconds());
    						// document.getElementById("heure").innerHTML = UR_Indhold;
    						// setTimeout("UR_Start()",1000);
    					// }
    					// function showFilled(Value) 
    					// {
    						// return (Value > 9) ? "" + Value : "0" + Value;
    					// }
     
    					// UR_Start();
     
    					</script>
     
    				</td>
    			</TR>
    			</TABLE>
    	   </div>
               <!-- Entête -->
    	   <!-- Bloc du tree a gauche -->
    	   <div dojoType="dijit.layout.ContentPane" region="left" style="width: 210px;padding:0px; margin:0px; border:none;" splitter="true">
    			<DIV dojoType="dijit.layout.AccordionContainer" id="acc01">
    				<DIV dojoType="dijit.layout.ContentPane" title="Archives" BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%;">
    				<script type="text/javascript">
     
    				var storeArcs = new dojo.data.ItemFileWriteStore({data: { identifier: "key", label: "name", items: []}});
     
    				storeArcs.newItem({key: "a_256", name: "a_256", ARC_ID: "40"});
    				storeArcs.newItem({key: "a_mecanno", name: "a_mecanno", ARC_ID: "37"});
    				storeArcs.newItem({key: "a_plante", name: "a_plante", ARC_ID: "41"});
    				storeArcs.newItem({key: "a_senat", name: "a_senat", ARC_ID: "67"});
    				storeArcs.newItem({key: "laurent", name: "laurent"});
    				storeArcs.fetchItemByIdentity({identity: "laurent",
    										onItem : function(item) {
    											storeArcs.newItem({key: "truc::test", name: "test"}, {parent: item, attribute:"children"}); 
    									}});
    				storeArcs.fetchItemByIdentity({identity: "truc::test",
    									onItem : function(item) {
    										storeArcs.newItem({key: "truc::test::mecano", name: "mecano", ARC_ID: "38"}, {parent: item, attribute:"children"}); 
    								}});
    				storeArcs.newItem({key: "md5_sha256", name: "md5_sha256", ARC_ID: "44"});
    				storeArcs.newItem({key: "pdf_archive", name: "pdf_archive", ARC_ID: "7"});
    				storeArcs.newItem({key: "xml0306", name: "xml0306", ARC_ID: "45"});
    				storeArcs.newItem({key: "xml1004", name: "xml1004", ARC_ID: "36"});
     
     
    				var modelArcs = new dijit.tree.ForestStoreModel({
    						store: storeArcs,
    						rootLabel: "Liste des archives"
    				});
     
    				</script>
    					<div dojoType="dijit.Tree" id="treeArcs"
    						model="modelArcs" openOnClick="true" onLoad="console.log('loaded arcs tree');">
    						<script type="dojo/method" event="onClick" args="item">
    							var arcID = storeArcs.getValue(item, "ARC_ID");
    							if (arcID)
    								document.location = "consult.php?go=arc&arc="+arcID;
    						</script>
    					</div>
    				</DIV>
    			<DIV dojoType="dijit.layout.ContentPane" title= "Dossiers" BORDER="0" WIDTH="100%" HEIGHT="100%" STYLE="height: 100%; max-height: 100%; width: 100%; max-width: 100%;">
    			<script type="text/javascript">
     
    			var storeDossier = new dojo.data.ItemFileWriteStore({data: { identifier: "key", label: "name",  items: []}});
     
    			var modelDossier = new dijit.tree.ForestStoreModel({
    					store: storeDossier,
    					rootLabel: "Liste des dossiers"
    			});			 
    			</script>
     
    				<div dojoType="dijit.Tree" id="treeBind"
    					model="modelDossier" openOnClick="true" onLoad="console.log('loaded binders tree');">
    					<script type="dojo/method" event="onClick" args="item">
    						var bindID = storeArcs.getValue(item, "BIND_ID");
    						if (bindID)
    							document.location = "consult.php?go=bind&bind="+bindID;
    					</script>
    					<script type="dojo/method" event="onOpen" args="item">
    						//console.log("Open of node " + storeDossier.getLabel(item));
    					</script>
    					<script type="dojo/method" event="onClose" args="item">
    						//console.log("Close of node " + storeDossier.getLabel(item));
    					</script>
    				</div>
     
     
    			</DIV>
    			</DIV>
    		</div>
    		<!-- Bloc du tree a gauche -->
    		<!-- Bloc du centre pour l'affichage du contenu des pages -->
    		<div id="pageCentre" dojoType="dijit.layout.ContentPane" region="center">
     
    		<style type="text/css">
    			@import "./include/dojo/grid/resources/soriaGrid.css"; 
    		</style>
     
    		<script type="text/javascript">
     
    		var layoutData = [
    			{field: "ARC_DOC_ID", name: "ARC_DOC_ID", width:"0px", styles: 'display: none;'},
    			{field: "Nom_Prenom", name: "Nom_Prenom", width:"200px", classes:'dojoxGridColString'},
    			{field: "Num_Titre", name: "Num_Titre", width:"80px", classes:'dojoxGridColInt'},
    			{field: "Num_Bordereau", name: "Num_Bordereau", width:"80px", classes:'dojoxGridColInt'},
    			{field: "Num_Dossier_Interne", name: "Num_Dossier_Interne", width:"80px", classes:'dojoxGridColInt'},
    			{field: "Date_Emission", name: "Date_Emission", width:"80px", classes:'dojoxGridColString'},
    			{field: "Cpte_Tiers", name: "Cpte_Tiers", width:"80px", classes:'dojoxGridColInt'},
    			{field: "Date_Entree", name: "Date_Entree", width:"80px", classes:'dojoxGridColString'}
    		];
     
     
    		var myData = {"identifier": "ARC_DOC_ID", "items": [
    		{"ARC_DOC_ID": "0", "Nom_Prenom": "BOUTEFIN MARCEL", "Num_Titre": "-23823", "Num_Bordereau": "102", "Num_Dossier_Interne": "207137725", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"},
    		{"ARC_DOC_ID": "1", "Nom_Prenom": "PECHOT JEAN", "Num_Titre": "-23822", "Num_Bordereau": "102", "Num_Dossier_Interne": "207153628", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"},
    		{"ARC_DOC_ID": "2", "Nom_Prenom": "GANTIER JACQUES", "Num_Titre": "-23821", "Num_Bordereau": "102", "Num_Dossier_Interne": "207156688", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"},
    		{"ARC_DOC_ID": "3", "Nom_Prenom": "CHAPPROUX FRANCOISE", "Num_Titre": "-23820", "Num_Bordereau": "102", "Num_Dossier_Interne": "207175660", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"},
    		{"ARC_DOC_ID": "4", "Nom_Prenom": "HURTON J-LUC", "Num_Titre": "-23819", "Num_Bordereau": "102", "Num_Dossier_Interne": "207181474", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"},
    		{"ARC_DOC_ID": "5", "Nom_Prenom": "BARLER M-ODILE", "Num_Titre": "-23818", "Num_Bordereau": "102", "Num_Dossier_Interne": "207201058", "Date_Emission": "02/04/2003", "Cpte_Tiers": "41151", "Date_Entree": "03/01/2003"}
    		]};
     
    		function noSort(index)
    		{
    			return false;
    		}
     
     
    		function selectInForm()
    		{
    			var items = grid0.selection.getSelected();
    			alert("ok");
    			if(items.length)
    			{
    				dojo.forEach(items, function(selectedItem) {
    					if(selectedItem !== null) 
    					{
    						var docSel = document.createElement('INPUT');
    						docSel.setAttribute('type', 'hidden');
    						docSel.name = 'selItem[]';
    						docSel.value = grid0.store.getValues(selectedItem, "ARC_DOC_ID");
    						docSel.setAttribute('checked', true);
    						document.f1.appendChild(docSel);
    					}
    				});
    			}
    			return true;
    		}
    		</script>
    		1098 documents (150 affichés)<br><br>
    		<div dojoType="dojo.data.ItemFileWriteStore" data="myData" jsId="storeData">
    		</div>
    		<div dojoType="dojox.grid.DataGrid" jsid="grid0" id="grid0" style="height: 500px;" autoWidth="true" autoHeight="true"
    					store="storeData" structure="layoutData"
    					canSort='noSort' clientSort="true" columnReordering="true" 
    					rowSelector="20px" selectionMode="multiple"
    					>
    		</div>
    <!--
    1 <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=2'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">2</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=3'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">3</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=4'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">4</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=5'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">5</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=6'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">6</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=7'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">7</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=8'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">8</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=9'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">9</A> <A HREF="" onClick="document.f1.action = '/ssafe_c/consult.php?go=arc&arc=76&p=10'; document.forms['f1'].onsubmit = selectInForm; if (document.forms['f1'].onsubmit()) {document.forms['f1'].submit();} return false;">10</A>
    -->
    		</div>
    	</div>
    </body>
    </html>
    J'ai essayé de remettre comme c'était avant. j'ai du faire des modifs pour utiliser mon dojo.js.

    Si vous avez des questions n'hésitez pas.

  5. #5
    Vow
    Vow est déconnecté
    Membre éprouvé Avatar de Vow
    Inscrit en
    Janvier 2003
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 259
    Par défaut
    En effet, l'alerte venait bien de l'horloge : merci

    Par rapport à votre architecture, je pense comprendre le résultat souhaité, et c'est un peu un des buts que je voulais atteindre après avoir résolu mon "premier" soucis.

    Et je pense également qu'il y a un problème de fermeture de balise. J'ai eu beau cherché (plusieurs fois) mais rien d'apparent.
    Je pense refaire la structure pas à pas pour voir...

    Sinon, en testant votre solution, le tableau est toujours mal formaté sous IE. Pour arriver, à un résultat, j'ai dû évidemment changer le className "nihilo" et non "soria"
    Je testerai sinon avec les classes Dojo de base.

    En tout cas, un grand merci

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    Sinon, en testant votre solution, le tableau est toujours mal formaté sous IE. Pour arriver, à un résultat, j'ai dû évidemment changer le className "nihilo" et non "soria"
    Oui j'ai oublié de changer le className en effet.
    C'est toujours comme ca avec les copier coller

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conflit entre ELT et ETL sous Talend
    Par Farhat1985 dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 29/06/2014, 01h04
  2. Conflit entre sous-section et section dans une en-tête
    Par patemino dans le forum Mise en forme
    Réponses: 3
    Dernier message: 17/03/2008, 12h09
  3. [AJAX] Conflit entre Ajax et Js sous IE
    Par delf013 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/05/2007, 15h00
  4. [WebForms][1.1] Conflit entre mode dans un DataGrid
    Par estrasse dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/12/2005, 15h53
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo