begin process at 2010 02 10 08:03:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Probleme de focus sur datagrid


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

Probleme de focus sur datagrid

mercredi 6 juillet 2005 à 17:04:48 | Probleme de focus sur datagrid

kenzo080

Je dispose d un datagrid avec des textbox au niveau du footer.
Mon probleme est que pour acceder a mon footer, je suis obliger de descendre avec la fleche du bas a droite de ma page car j ai beaucoup de ligne dans mon datagrid.
Je voulais savoir si il etait possible par le biais d un click sur un linkbutton, le focus se met directement sur mon premier textbox du footer
Je demande cela car lorque je clique sur le linkbutton, je rends visible mon footer et plein d autres affaires en meme temps.

J ai trouvé sur developpez.com le code suivant :

public void setFocus(System.Web.UI.WebControls.WebControl champ){
   //Champ est le webcontrol sur lequel on veut mettre le focus
    string s;
s = "<script language= \"javascript\">document.getElementById('" +
    champs.ClientID + "').focus()</script>";
    Page.RegisterStartupScript("focus", s);
}

Ca marche bien sur un textbox normal, mais je n arrive pas a l utiliser sur un textbox dans un datagrid.
Merci poour votre aide car je galere dessus depuis plusieurs jours
mercredi 6 juillet 2005 à 21:15:27 | Re : Probleme de focus sur datagrid

jesusonline

Membre Club Administrateur CodeS-SourceS
Es tu sur que tu recuperes l'id de ton controle ? car si oui il n'y a pas de raison, mais je pense que lorsque tu ecris ceci tu ne connais pas encore l'id, regarde dans l'html si tout est correcte, car normalement ca devrait fonctionner


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
jeudi 7 juillet 2005 à 10:12:20 | Re : Probleme de focus sur datagrid

cabbry

Le truc, c'est que getElementById s'est utile pour les calques (div, span ce genre de choses), or toi tu veux atteindre une textbox...

C'est la que la galere commence...

Si tu regardes la sources de ta page, tu va obtenir pour ta textbox un truc du genre:

<input name="tagrille:_ctl4:ta_textbox" type="text" id="tagrille__ctl4_
ta_textbox"

le ctl4 est généré par rapport aux objets sur ta page donc grossomodo aux nombres de lignes de ton datagrid...

Si tu arrives a récupérer ce nombre tu pourra faire ton focus,

 et pour trouver ton objet tu fais un :

document.all[
tagrille__ctl4_ta_textbox]


Cab



jeudi 7 juillet 2005 à 10:38:44 | Re : Probleme de focus sur datagrid

jesusonline

Membre Club Administrateur CodeS-SourceS
document.all :-|


document.getElementById('truc') ! (qui lui est standard)

document.all ca n'existe pas (enfin si mais seulement pour IE donc non ;))

et puis pour ce qui est des calques : un calque n'existe pas ! ce sont des elements, des balises etc... une balise p n'est pas plus un calque qu'un div, je te renvoie vers la page du CCC (comité contre les calque) [ Lien ] ;)

Sinon, pour ce qui est du problème, il faut réussir à recuperer le clientID du controle qu'il veut donner le focus, le clientID est la propriété ID html cad tagrille__ctl4_ta_textbox


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
jeudi 7 juillet 2005 à 10:49:10 | Re : Probleme de focus sur datagrid

cabbry

lol...

tu craques Cyril avec ton CCC...

Pour le reste, on vire le all, tu fais un

document.ta_form.ta_textbox... ou document.forms["ta_form"].ta_textbox...

ou tu met le fameux getElementById a la Jesus' style...


Cab



jeudi 7 juillet 2005 à 15:18:11 | Re : Probleme de focus sur datagrid

kenzo080

Salut,

Deja merci pour m avoir repondu aussi rapidement.
Pour ce qui est de mon probleme, comme je vous l ai dit, le textbox ce trouve dans le footer de mon datagrid. Et dans l exemple que j avais trouvé, il y avait un moment "System.Web.UI.WebControls.WebControl champ", or comme il se trouve dans le datagrid, je crois que c est de la que viens l erreur....mais c est une hypothese biensure.Je viens de mettre comme vous avez dit "document.forms["ta_form"].ta_textbox" mais rien ne se passe.
Pouvais vous me reecrir la fonction entierement car je ne voix pas trop ou vous voulez en venir.....merci d avance
jeudi 7 juillet 2005 à 17:01:59 | Re : Probleme de focus sur datagrid

cabbry

En fait, ta textbox que tu appelles "ta_textbox" dans ton code et qui est contenu dans ton datagrid "tagrille" va ensuite s'appeller en fait:

tagrille:_ctlX:ta_textbox

X: étant a peu pres le n° de ligne ou elle se situe
tagrille: c'est le nom de ta grille
ta_
_textbox c'est le com de ta textbox...

Pour vérifier ce que je dis, tu charges ta page et tu fais un click droit puis afficher la

source et là tu cherche ta Textbox...et tu verra plus clairement ce que je t'explique...

Une fois que tu as compris ça, tu relis mon 1er  post...je t'explique tout dedans...

et tu en conclura:

document.getElementById("tagrille:_ctlX:ta_textbox")

et c'est la que tu peux commencer a pleurer pour recupérer le n° de ligne ( le X du début du post :) )

Cab


jeudi 7 juillet 2005 à 17:37:29 | Re : Probleme de focus sur datagrid

jesusonline

Membre Club Administrateur CodeS-SourceS
grrrrr (re)

l'attribut name ne sert plus à rien, c'est une complete aberation de l'avoir laissé (j'arrive d'ailleurs pas à comprendre ils met pas la meme valeur à la propriété name que id ...)

mais il faut utiliser l'id de l'element !

sinon pour le pourquoi qu'il fait ca, ca sert à avoir un numéro unique, car on ne peut evidemment pas avoir 2 id identique dans une page ..

pour la facon dont il est généré, c'est simple, le controle implemente l'interface inamingcontainer ... c'est grace à cet interface qu'on pourra avoir des id unique.

l'id unique est construit suivant les controles parents, il va aller chercher le clientID du controle parent qui le contient jusqu'a arriver à l'objet page en cours. dans une datagrid, le textbox, est contenue par la page, le datagrid, et la ligne, comme la ligne n'a pas d'id asp lui en assigne un par défaut : ctl comme la ligne se repete il met un numéro en partant de 0.


dans ton cas, je suis pas sur que tu es de problème pour recuperer le clientID du textbox, car ton controle est dans le footer du datagrid, par contre je ne sais pas du tout comment acceder au footer d'un datagrid ...

ca doit etre possible, mais j'aime absolument pas le datagrid ! (pour ne pas dire que je le deteste) et par conséquent je m'en sert jamais ...




Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
jeudi 7 juillet 2005 à 19:37:07 | Re : Probleme de focus sur datagrid

kenzo080

Salut les gas,
Je viens de trouver une solution et je n avais pas vu que vous m aviez repondu....merci quand meme .
Donc dans ma solution, je reprend la fonction public void setFocus decrit en haut.
Puis dans le linkbutton, je mets le code suivant :
//sur -1, c est pour les textoxs du footer, sinon s il y avait eu des numeros de page, on aurait mis -2

System.Web.UI.Control footer = BackdoorUserGrid.Controls[0].Controls[BackdoorUserGrid.Controls[0].Controls.Count-1];

//recuperation du textbox  du footer

TxtBox champs= (System.Web.UI.WebControls.TextBox)footer.FindControl("Ajout1");

setFocus(champs);


Dans mon cpde, Ajout1 est le id de mon textbox.
En haut, j ai fait une faute de frappe, c est champs et non champ.....mais je pense que vous l auriez remarquer



Cette discussion est classée dans : textbox, probleme, datagrid, focus, footer


Répondre à ce message

Sujets en rapport avec ce message

Insérer des textbox dans le footer d'un datagrid [ par Syl974 ] Bonjour,Voilà, l'énnoncé du sujet en dit long.Il s'agit d'une webform en aspx, le code behind est en Csharp.Je travaille sur un datagrid qui présente probleme de pagination [ par sorcier_sly ] Salut,Je suis en train de faire un datagrid et j'ai un souci avec la pagination. J'ai mis allowpaging a true et allowcustompaging a false. Quand je ve ajouter un bouton dans un datagrid [ par toddy_101 ] Bonjour tout le monde,je suis en train de developper une application web sur asp.net vec du c#.j'ai un petit probleme en fin... un grand probleme, je Probleme Update Datagrid [ par toddy_101 ] Bonjour tout le monde,voila, j'ai un probleme avec mon datagrid, je veux afficher mes données à partir de ma BD, je veux utiliser une table intermedia Datagrid [ par Nazar76 ] Bonjour à tous,Voilà,  je débute en ASP.NET et  je dois développer une application web.J'ai à réaliser un Datagrid qui se remplit automatiquement à pa probleme (re)chargement de page avec javascripr [ par tournevice ] Salut,Mon problème est le suivant :Je dispose d'un datagrid dont les éléments de la 1ere colonne sont des liens. Lorsque je click sur un de ces liens, Parametrer le footer d'une datagrid [ par Diafre ] Bonjour a tous,Je suis en train de developper une petite appli en ASP.net dans laquelle j'ai differentes DataGrid.Vu que les données introduites ds ce PROBLEME SUR UN DATAGRID [ par LOUTTY ] SalutJ'ai un datagrid, dans la premiere colonne je voudrais mettre une image qui pointe vers une page ou j'aurai le detail de la ligne de mon datagrid id cellule datagrid ... [ par InnocentCriminal ] bonjourje souhaiterais savoir comment récupérer l'identifiant d'une cellule ou d'un textbox dans une cellule d'un datagrid.Il faut que j'envoie cette datagrid et PushButton [ par theboboteam ] bonjour,j'ai un datagrid avec un bouton de type "PushButton"si je laisse comme ca, lorsque je clic sur le bouton , l'evenement ItemCommand ne se decl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,435 sec (3)

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