begin process at 2012 05 27 19:17:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

Autre

 > 

Deplacer cellules asp.net


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Deplacer cellules asp.net

vendredi 20 juin 2008 à 11:00:41 | Deplacer cellules asp.net

iceman_688

Bonjour,

Je travail sur un projet en ASP .Net 1.1

Je dois créer une page qui contient un tableau (remplie dynamiquement à partir d'une base de données).
Chaque ligne du tableau contient une checkbox cochée ou non ainsi que deux bouton Up et down.

En cliquant sur up la ligne en question doit se déplacer vers le haut et inversement en cliquant sur down.

Je dois utiliser du javascript pour éviter des retours au serveur mais je suis débutant et ne connais rien au javascript, quelqu'un pourrait-il m'aider ?

Merci.

Renaud
vendredi 20 juin 2008 à 16:46:38 | Re : Deplacer cellules asp.net

ggtry

Bonjour,

J'ai peut-être un script qui pourrait aider.
Peux-tu montrer le rendu html pour une ou deux lignes de ton tableau ?

GGtry
vendredi 20 juin 2008 à 17:20:08 | Re : Deplacer cellules asp.net

iceman_688

Qu'est-ce que tu entends par "rendu HTML", tu veux le code ? ou une capture d'écran du résultat ?

renaud

vendredi 20 juin 2008 à 17:52:21 | Re : Deplacer cellules asp.net

ggtry

En fait, ni le code ni une capture d'écran, mais la source de ta page quand tu la lis dans un navigateur.
Par exemple, dans le menu affichage de Firefox tu "as Code Source de la page", ou dans le menu affichage de IE, tu as "Source".
Dans cette source, tu trouveras à un moment ton tableau en html. Il faudrait au moins l'exemple d'une ligne (en principe ce qu'il y a entre les balises <tr>).
Pour intervenir avec du javascript, il vaut mieux voir comment ta table est rendue en html.

GGtry
vendredi 20 juin 2008 à 18:03:46 | Re : Deplacer cellules asp.net

iceman_688

OK, voici le code


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>IndicatorLayoutPreferences</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="
http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form name="Form1" method="post" action="IndicatorLayoutPreferences.aspx" id="Form1">
<input type="hidden" name="__VIEWSTATE" value="dDwtMTQ1NTQ0MjQwNzs7bDxfY3RsNDtfY3RsNjtfY3RsODtfY3RsMTA7X2N0bDEyO19jdGwxNDtfY3RsMTY7X2N0bDE4O19jdGwyMDtfY3RsMjI7X2N0bDI0O19jdGwyNjtfY3RsMjg7X2N0bDMwO19jdGwzMjtfY3RsMzQ7X2N0bDM2O19jdGwzODtfY3RsNDA7X2N0bDQyO19jdGw0NDtfY3RsNDY7X2N0bDQ4O19jdGw1MDtfY3RsNTI7X2N0bDU0O19jdGw1NjtfY3RsNTg7X2N0bDYwO19jdGw2MjtfY3RsNjQ7X2N0bDY2O19jdGw2ODtfY3RsNzA7X2N0bDcyO19jdGw3NDtfY3RsNzY7X2N0bDc4O19jdGw4MDtfY3RsODI7X2N0bDg0O19jdGw4Njs+Pm13gjrLFmSHpqMCmSf4fSJ5vZyn" />

   <table border="0">
 <tr style="height:50px;">
  <td><span style="font-weight:bold;text-decoration:underline;">Hide</span></td><td><span style="font-weight:bold;text-decoration:underline;">Metadata field</span></td><td><span style="font-weight:bold;text-decoration:underline;">Up/Down</span></td>
 </tr><tr>
  <td colspan="2"><input id="_ctl4" type="checkbox" name="_ctl4" /><label for="_ctl4">Name</label></td><td><a href="changeClassement('up',this);"><img src="images\fleche_up.gif" alt="" border="0" /></a></td>
 </tr><tr>
  <td colspan="2"><input id="_ctl6" type="checkbox" name="_ctl6" /><label for="_ctl6">Alias</label></td><td><a href="javascript:changeClassement('up',this);"><img src="images\fleche_up.gif" alt="" border="0" /></a></td>
 </tr><tr>
  <td colspan="2"><input id="_ctl8" type="checkbox" name="_ctl8" /><label for="_ctl8">Purpose</label></td><td><a href="javascript:changeClassement('up',this);"><img src="images\fleche_up.gif" alt="" border="0" /></a></td>
 </tr><tr>
  <td colspan="2"><input id="_ctl10" type="checkbox" name="_ctl10" /><label for="_ctl10">Definition</label></td><td><a href="javascript:changeClassement('up',this);"><img src="images\fleche_up.gif" alt="" border="0" /></a></td>
 </tr><tr>
  <td colspan="2"><input id="_ctl12" type="checkbox" name="_ctl12" /><label for="_ctl12">Numerator</label></td><td><a href="javascript:changeClassement('up',this);"><img src="images\fleche_up.gif" alt="" border="0" /></a></td>
 </tr>
</table></form>
 </body>
</HTML>

 

renaud

vendredi 20 juin 2008 à 19:57:07 | Re : Deplacer cellules asp.net

ggtry

Bonsoir,

J'ai un peu adapté la fonction javascript que j'avais à ton cas.
Ceci devrait marcher (en tout cas étant donné l'html envoyé). Sinon, il faudra adapter. Ce n'est peut être pas du très bon javascript, mais bon...
Le script est à mettre entre les balises <head>.
Dans ton tableau, il faut supprimer la balise <a href etc.> et laisser seulement l'image. Il faut ajouter dans la balise de cette image l'événement client onclick="monter(this)"
Si tu ajoutes à tes lignes des cellules à la suite des deux premières, il faut modifier t<2
Note bien (je ne sais pas exactement ce que tu veux faire) qu'un postback remettrait à zéro la liste, sans tenir compte des changements d'ordre apportés côté client...
A noter évidemment que la fonction ne fait que monter les éléments (et donc descendre celui qui avait la place auparavant). Mais il est vrai que cela est en principe suffisant.

<script type="text/javascript">
function monter(bt)
    {
    var nu=bt.parentNode.parentNode.getElementsByTagName("input")[0].id
    var ta=document.getElementsByTagName("input")
        for (var n=1 ; n<ta.length ; n++)
        {
            if (ta[n].id==nu)
            {
                if (n==1)
                {
                alert("haut de liste")
                return
                }
                for (var t=0 ; t<2 ; t++)
                {
                var ta2=ta[n].parentNode.parentNode.getElementsByTagName("td")[t].innerHTML
                var ta3=ta[n-1].parentNode.parentNode.getElementsByTagName("td")[t].innerHTML
                ta[n].parentNode.parentNode.getElementsByTagName("td")[t].innerHTML=ta3
                ta[n-1].parentNode.parentNode.getElementsByTagName("td")[t].innerHTML=ta2
                }
            }
        }
    }
</script>

Cordialement,

GGtry
dimanche 22 juin 2008 à 21:01:44 | Re : Deplacer cellules asp.net

iceman_688

Bonsoir et merci pour ton aide.

J'ai inserer ton code dans ma page. Tout d'abord, je ne peut pas supprimer le href car en fait j'insére un Hyperlink sur lequel je met une image comme ca :

HyperLink hl = new HyperLink();

hl.ImageUrl = "images\\fleche_up.gif";

hl.NavigateUrl = "javascript:monter(this);";

Lorque je lance ma page et que je clique sur l'image j'ai une Error on page sur la ligne :
var nu=bt.parentNode.parentNode.getElementsByTagName("input")[0].id
parentNode is null or not an object. Est-ce qu'il me manque une référence ?

renaud

lundi 23 juin 2008 à 09:19:22 | Re : Deplacer cellules asp.net

iceman_688

C'est bon j'ai adapté mon code. tout marche merci beacoup pour cette aide

renaud
lundi 23 juin 2008 à 12:23:48 | Re : Deplacer cellules asp.net

ggtry

Bonjour,

Content que ça marche.
Une dernière précision : dans le script que je t'ai donné sont recherchés tous les input du document, ce qui posera problème si tu ajoutes à ta page des contrôles dont le tag html est input. Dans ce cas, le script ne fonctionnera plus correctement. Comme tu dis ne pas connaître je javascript, autant anticiper...
Le mieux est de donner un id à ta table et de rechercher les input à l'intérieur de la table seulement.
Dans ce cas, il faut remplacer var ta=document.getElementsByTagName("input") par :
var table=document.getElementById("table1")
var ta=table.getElementsByTagName("input")
où "table1" est l'id donné à ta table.
D'autre part, dans la première boucle for, il ne faut pas écrire var n=1 mais var n=0.
De même, dans le test qui appelle l'alerte lorsque l'élément du haut de la table est cliqué, il faut écrire également : if (n==0)...
De cette façon, il n'y aura pas de problèmes...

Cordialement,

GGtry
mardi 24 juin 2008 à 14:33:18 | Re : Deplacer cellules asp.net

iceman_688

Bonjour,

Je reviens encors vers toi pour mon tableau dans lequel on dépace les rows.

Dans le Load de la page je récupère en base une liste triée dans un certain ordre. Grace à ton script, je peux ensuite changer cette ordre. Lorsque je valide avec un bouton save (dans l'intention de sauvegarder les changements de positions effectués), un PostBack se produit et réinitialise mon tableau dans l'ordre présent en base, donc modif perdue.

Si je met if(!IsPostBack) avant de dessiner mon tableau, mon tableau est vide lorsque j'arrive dans ma methode Save. Y a-t-il un moyen de palier ce problème ?
Merci

ren


1 2

Cette discussion est classée dans : net, asp, contient, deplacer, cellules


Répondre à ce message

Sujets en rapport avec ce message

[asp.net][c#] faire un glisser deplacer d'un hyperlink vers un treenode [ par EvilDef ] Bonjour a tous,j'ai une question qui est peut etre un peu difficile pcq je n'ai pas trouvé d'aide pour l'instant.J'ai fait une sorte d'explorer en asp PageMaster ASP .NET, comment deplacer le "Content" [ par Sabine25 ] Bonjour,Je viens de créer un PageMaster en lien avec un Form, mais j aimerai savoir si je peux déplacer le  "Content" parceque j y arrive pas! J aimer PageMaster ASP .NET [ par Sabine25 ] Bonjour,j ai un treeview dans ma PageMaster mais quan d je clique sur l un des item j aimerai qu il apparaisse un label dans le ContentTemplate ! Ce l Gestion panier asp.net [ par zouhaircom ] bonjour a tout Urgence !!!! Quelqu'un m'aide afin de trouver un code source ASP.NET  concernat la  gestion panier Merci ! passage des arguments asp.net [ par zouhaircom ] <span lang="FR" s asp.net et vb.net [ par imad_lol ] salut.je vien de commencer un site en asp.net en utilisant le language vb.jai creer une page aspx.vb et je veu allé sur une autre page dans le meme pr datagrid en asp.net [ par samanona ] bj tous le monde j'ai un pro en asp.netje veux extraire des informations a partir d'un colonne de type selectionner d'un datagrid pour les afficher da asp/iis [ par papiona ] oui je sais qu'il ya un serveur de vs et ca marche bien mais je ve travailler avec iis .voila les ereurs : quant j choisi une application web dans v Listbox Asp.net C# : Selection & mise en couleur [ par Xn3m ] Bonjour j'ai un souci :-(j'explique mon problemej'ai une listbox certains éléments doivent etre "selectionné" du moins avec un background de couleur r mise en page C# ASP .NET 2.0 [ par Sabine25 ] Bonjour,je souhaiterai faire comme un framework sur mon form!Je vous donne en exemple la vidéo suivante :http://www.microsoft.com/france/msdn/aspnet/c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales