Accueil > Forum > > > > DropDownList éditable
DropDownList éditable
mardi 28 juin 2005 à 10:04:35 |
DropDownList éditable

cabbry
|
Bonjour,
est que quelqu'un a un exemple, de code, une adresse de dropdownlist editable ?
Une Dropdownlist, dans laquelle on peut écrire le début d'un mot est la liste ce met à jour...
Vous voyez ?
Merci
Cab
|
|
mardi 28 juin 2005 à 11:56:35 |
Re : DropDownList éditable

jesusonline
|
Un truc comme ce qu'il y a pour la textbox de recherche en haut du site ? :p c'est loin d'etre facile, il faut utiliser la technologie Ajax ( http://www.aspfr.com/ajax.aspx) puis aprés faut bien comprendre comment tout ca fonctionne ... renseigne toi sur ajax et aussi un peu sur javascript aprés tu verras mieux le fonctionnement du truc:)
Cyril - MCP ASP.netWebmaster de : Hoshimi.CodeS-SourceS.fr
|
|
mardi 28 juin 2005 à 14:57:00 |
Re : DropDownList éditable

cabbry
|
Ca a l'air d'être un truc de grand malade ton ajax...
Par contre, j'ai trouvé du code javascript, je le posterai quand ça marchera !
Cab
|
|
mercredi 29 juin 2005 à 09:19:15 |
Re : DropDownList éditable

cabbry
|
Voila,
le résultat est sympa
Dans le Head de la page aspx:
<script>
function
display_liste(calqt, calql) { // Affiche le calque de la liste
calql.style.visibility = 'visible';
calql.style.top = calqt.style.top;
calql.style.left = calqt.style.left;
}
function
hide_liste(calqt, calql) { // Affiche ou masque le calque de la
liste suivant son dernier état
if (calql.style.visibility == 'visible') {
calql.style.visibility = 'hidden';
}
else {
display_liste(calqt, calql);
}
}
function
display_down(keyc, listd, calqt, calql) { // Affiche la liste si
la touche "keyc" est pressée
if (event.keyCode==keyc) {
display_liste(calqt, calql);
}
if ((event.keyCode==40) &&
(event.keyCode==keyc)) {
listd.focus();
}
}
function
enter_list(textb, listd, calql) { // appelle getValue si la
touche "Enter" est pressée dans la liste
if (event.keyCode==13) {
getValue(textb, listd, calql);
parent.frames['droite'].location='./droite.php?NOM_POSTE='+listed.options[listed.selectedIndex].value;
parent.frames['gauche_stat'].location='./gauche_bas.php?NOM_POSTE='+listed.options[listed.selectedIndex].value;
}
}
function
liste_lostfocus(textb, listd, calql) { // Masque le calque si le texte
et la liste n'ont pas le focus
if ( (self.document.activeElement.name != textb)
&& (self.document.activeElement.name != listd) ) {
calql.style.visibility = 'hidden';
}
}
function
getValue(textb,listd, calql) { // Affecte la valeur
de la liste choisie dans la zone de texte
textb.value=listd.item(listd.selectedIndex).text;
//
textb.value=listd.item(listd.selectedIndex).value; si on veut la valeur
dans le code et pas dans la liste
calql.style.visibility = 'hidden';
textb.focus();
textb.select();
}
function list_size(liste) {
t=0;
for(i=0; i<liste.length; i++) {
if(liste.options[i].value.length
> t) {
t=liste.options[i].value.length;
}
}
list_size=t;
}
function text_exist(textb, listd) { // regarde si le début existe
if (textb.value != "") {
for (i=0; i<listd.length; i++)
{
if (textb.value.toLowerCase() ==
listd[i].text.substring(0, textb.value.length).toLowerCase()) {
return i;
}
else {
if
(listd[i].text > textb.value.substring(0, listd[i].text.length)) {
return -2;
}
}
}
}
return -1;
}
function
disp_exist(textb, listd, calqt, calql) { // regarde si existe et
affiche le calque de la liste
temp=text_exist(textb, listd);
if (temp != -1) {
display_liste(calqt, calql);
}
else {
calql.style.visibility = 'hidden';
}
return temp;
}
function
text_match(textb, listd) { // regarde si le texte existe en entier
if (textb.value != "") {
for (i=0; i<listd.length; i++)
{
if (textb.value.toLowerCase() ==
listd[i].text.toLowerCase()) {
return i;
}
}
}
return -1;
}
</script>
Ensuite dans le body de la même page:
<div id="texte1" nowrap
STYLE="BORDER-RIGHT:white 2px inset; BORDER-TOP:white 2px inset;
DISPLAY:inline; VISIBILITY:visible; BORDER-LEFT:white 2px inset;
WIDTH:0px; BORDER-BOTTOM:white 2px inset">
<asp:TextBox Runat="server" name="texteb"
id="texteb"
style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;FONT-SIZE:14px;BORDER-BOTTOM-WIDTH:0px;BORDER-RIGHT-WIDTH:0px"
Width="82" onDblClick="hide_liste(document.getElementById('texte1'),
document.getElementById('liste1'));
document.getElementById('texteb').select();"
onblur="liste_lostfocus('texteb', 'listed',
document.getElementById('liste1'));" onkeydown=" display_down(34,
document.getElementById('listed'), document.getElementById('texte1'),
document.getElementById('liste1'));"
onkeyup="document.getElementById('listed').selectedIndex=disp_exist(document.getElementById('texteb'),
document.getElementById('listed'), document.getElementById('texte1'),
document.getElementById('liste1')); display_down(40,
document.getElementById('listed'), document.getElementById('texte1'),
document.getElementById('liste1'));
enter_list(document.getElementById('texteb'),
document.getElementById('listed'),
document.getElementById('liste1'));">
</asp:TextBox>
<input type="button" id="bouton" value="6"
style="FONT-SIZE:10px;LINE-HEIGHT:0;FONT-FAMILY:webdings;HEIGHT:18px"
onClick=" hide_liste(document.getElementById('texte1'),
document.getElementById('liste1'));" onblur="liste_lostfocus('texteb',
'listed', document.getElementById('liste1'));">
</div>
<div id="liste1" STYLE="VISIBILITY:hidden;postion:absolute">
<asp:DropDownList Runat="server"
Autopostback="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged"
id="listed" name="listed" size="5"
onClick="JScript:getValue(document.getElementById('texteb'),document.getElementById('listed'),document.getElementById('liste1'));__doPostBack(null,null);"
onkeydown="JScript:enter_list(document.getElementById('texteb'),document.getElementById('listed'),document.getElementById('liste1'));">
</asp:DropDownList>
</div>
Ca fait un peu peur, vu comme ça, mais les styles prennent pas mal de place tout comme les évenements...
Dans le code behind, vous pouvez gérer l'événement OnSelectedIndexChanged de la ddl:
public void ddl_SelectedIndexChanged(object sender, System.EventArgs e)
{
}
Je crois que je n'ai rien oublié...
Cab
|
|
mercredi 29 juin 2005 à 10:20:40 |
Re : DropDownList éditable

jesusonline
|
j'ai pas tout lu le code, mais t'aurais pas un exemple en ligne ? t'as pas d'Ajax la ? :( par contre j'ai vu a un endroit un __doPostBack(null,null);" utilise plutot __doPostBack(this.id, null)
et quand tu te sert de ca dans la page il faut etre sur qeu la fonction est ecrite dans la page, donc un me.page.registerpostback ou un truc du genre :p en tout cas ca a l'air sympa :)
Cyril - MCP ASP.netWebmaster de : Hoshimi.CodeS-SourceS.fr
|
|
mercredi 29 juin 2005 à 11:14:24 |
Re : DropDownList éditable

cabbry
|
Le code dont je me suis inspiré est là:
http://javascriptfr.com/code.aspx?ID=20093
et non ça n'utilise pas d'Ajax, désolé...
Il reste des bugs, mais bon, le principal y est...
|
|
Cette discussion est classée dans : dropdownlist, éditable
Répondre à ce message
Sujets en rapport avec ce message
Datagrid éditable & dropdownlist [ par cabbry ]
Bonjour, j'ai un petit problème avec un datagrid éditable. <asp:Templat
AutoPostBack de dropdownlist [ par cabbry ]
Bonjour, j'ai un datagrid qui possède une dropdownlist lorsqu'il est en édition... Cette dropdownlist à la propriété autopostback=true... Quand je
Créer un Controle Utilisateur Web [ par matlocker ]
Bonsoir a tous,J'essaye de créer mon premier controle utilisateur web et j'ai soucis.Mon control utilisateur Web est composé d'une dropDownList et d'u
dropdownlist et base de données [ par marhoa ]
Salut, J'ai créé une liste déroulante dans laquelle je mets les données tirées d'une requète. Cette requète me retourne un id et un libellé. J'arrive
Popup ( Parent / Child ) Rafraichir la dropdownlist sur le parent. [ par Tam13 ]
Salut tout le monde. J ai une fenetre parent dans laquelle j ai une dropdownlist qui se rempli a partir d'une base de donnée ( des marques ).Si une ma
DropDownList avec une image [ par 2cO_o ]
Bonjour,Je suis en pleine galère pour trouver le moyen de créer une DropDownList dans le style du bouton "suivant" de Internet Explorer 6.0C'est-à-dir
Sélectionner le 1er élement d'un DropdownList [ par marhoa ]
J'utilise un dropdownlist et lors de l'affichage de ma page, le premier élement de cette liste est automatiquement sélectionné. Vu que, derrière j'uti
DropDownList : evenement en mode édition [ par vince233 ]
Bonjour, En mode édition, j'ai deux dropdownLists et je souhaites que la première déclenche un évenement pour modifier le contenu de la deuxième le
Visual Web Developer 2005 Express Béta 2 et Composant DropDownList [ par buff ]
Bonjour, N'ayant pas trouvé réponse dans les newsgroups MSDN, je me permets de vous recontacter pour un problème rencontré sur Visual Web Develope
ecrire dans un dropdownlist [ par marhoa ]
salut, j'aimerais savoir s'il y a un moyen d'écrire dans une dropdownlist. (cela me permettrait de sélectionner un élement à partir du texte entré )J'
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|