cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006
-
15 mai 2006 à 21:07
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006
-
19 mai 2006 à 13:24
Bonjour,
J'ai un problème avec l'utilisation d'une popup du Control Toolkit Atlas.
Le controle Atlas a pour fonction , l'affichage d'un calendrier lors d'un clique sur un textbox, puis
lorsque l'on clique sur le calendrier, celui ci affiche la date choisi
dans la textbox.
En l'executant dans un page, cela marche nickel!!
Mais probleme, dans la modification de mon gridview, j'ai mis mon
champs Date en Template et j'ai fais glisser le controle Atlas dans le
EditTemplate pour que celui ci apparaisse lors de la modification et
je mets dans le fichier.cs :
Le nom 'DateTextBox' n'existe pas dans le contexte actuel!
Alors que la textbox avec comme ID = DateTextBox se situe dans mon itemtemplate!!
Et juste pour essayer si sa marche, je rajoute en dehors du
EditTemplate une autre textbox "DateTextBox" et lorsque je clique sur
modifier sa me mets :
The UpdatePanel 'UpdatePanel1' was not present when the page's
InitComplete event was raised. This is usually caused when an
UpdatePanel is placed inside a template.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 mai 2006 à 15:57
J'ai rapidement regardé hier soir, et j'ai pas vu de solution simple :(
J'aime pas dire ca, mais désolé ce n'est pour le moment pas possible.
J'ai quand même une solution en tête mais cela demanderais BEAUCOUP de boulot, il faut bien connaitre Atlas, JavaScript, Asp.net et ce serait possible ... mais pas simplement.
Essaye de voir sur le forum de http://atlas.asp.net normalement la team chargé du dev d'Atlas réponds aux questions ou du moins passe pour voir les problèmes ... :s
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 mai 2006 à 16:21
Oui normal, qu'il te dit que TB_Date n'existe pas ... vu que tu es dans une liste, tu as plusieurs TB_Date ....
la solution la plus simple serait d'avoir un DateTimePicker, pour l'instant ce controle n'est pas fournis, mais j'espere bien que les innovations d'Atlas le permettront ;)
regarde sur le net, il y a pleins de controle DateTimePicker disponible.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 15 mai 2006 à 21:24
Bonjour,
Comme l'indique le message tu ne peux pas rajouter un updatePanel dans un ItemTemplate, cela pour des raisons tout à fait logique si on connait bien le fonctionnement d'asp.net :-)
pour ton autre problème, tu ne peux pas utiliser DateTextBox dans ton code car tu ne sais pas duquel il s'agit vu qu'il va se repeter avec tes données ...
pour répondre à la question,euh *-) faudrais que je regarde comment fonctionne le PopupControlExtender pour t'expliquer comment faire ce que tu veux (j'ai ma petite idée mais j'ai du mal à la comprendre dans ma petite tête alors pour l'expliquer ...)
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 15 mai 2006 à 21:40
Oui j'avais compris que le updatePanel gené mais comme sans sa le popup calendar ne pouver fonctionner, je ne voyais vraiment pas comment faire...
Au debut j'avais utiliser un calendar simple en Visible = false mais le probleme c'est que je n'est pas trouver d'equivalent de OnClick pour le textbox, donc je me suis tourner vers Atlas!
Helas, il y a eu ce probleme
Tiens moi au courant si tu trouves une solution, ce serait vraiment chouette!
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 17 mai 2006 à 16:18
Ok je vais voir mais sinon tu as une autre solution sans utiliser le popup d'Atlas???
J'ai essyé de mettre ma colonne en template puis dans le edittemplate de mettre une textbox et un calendar mais quand je mets :
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 17 mai 2006 à 20:08
Je voudrais savoir comment je fais pour faire fonctionner le DateTimePicker car dans le site, le DateTimePicker est en .NET 1.0 , enfin, j'essaye de le faire marcher en rajouter un element mais sa ne fonctionne pas :s
Merci
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 17 mai 2006 à 20:36
Enfin je t'explique ce que j'ai fais, j'ai dl le fichier, puis dans mon appli web, dans le fichier Bin, j'ai rajouté "AssemblyInfo.cs" et "WebCustomControl1.cs" puis j'ai essayé de compiler le fichier "WebCustomControl1.cs" pour qu'il me creer la DLL mais il me dis :
Le type ou le nom d'espace de noms 'ControlDesigner' est introuvable... Je pense qu'il manque un using mais il y a deja dans les using :
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Drawing;
using System.Web.UI.HtmlControls;
using System.Web.UI.Design;
using System.ComponentModel.Design;
Et bon je n'ai pas touché au fichier donc je sais pas.. ai-je mal utiliser le DateTimePicker???
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 17 mai 2006 à 20:49
Re,
Voila ce que j'ai fais, tout d'abord, j'ai pris le fichier Dtpicker.sln et je l'ai ouvert, VS2005 m'a converti les fichiers. Puis lorsque je compile le fichier "WebCustomControl1.cs", il me dis que "this.Behavior" est obsolete mais il ne me donne rien, aucun lien pour voir ce que c'est devenu maintenant.
Autre probleme, j'ai importer dans mon projet Web, dans le dossier Bin, le fichier "WebCustomControl1.cs" mais le probleme c'est que lorsque je le genere pour obtenir la DLL pour pouvoir l'utiliser (enfin je sais pas comment on fais pour utiliser le DateTimePicker donc j'esssaye sa car je pense que c'est comme sa mais bon si c'est pas comme sa dis le moi :d) il me dis "le type ou le noms d'espace de nom 'Control Designer' est introuvable" alors que la generation du fichier original il ne me le dis pas...
Pourquoi???
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 mai 2006 à 21:51
Euh ???
tu compiles quoi toi ? une fois que tu recuperes le zip du dernier lien, tu as dedans un dossier bin, tu recuperes la dll, et tu la mets ou tu veux sur ta machine, puis tu fais un add reference tu vas chercher ta dll, ensuite dans ta page, tu rajoutes :
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 17 mai 2006 à 22:16
Non moi j'etais entrain de tester l'autre eh eh eh , mes derniers post n'ont rien à voir avec le dernier lien ^^ , là je teste l'autre mais j'ai lu deja les infos, c'est vraiment un truc interessant!
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 18 mai 2006 à 17:01
Hello!!!
Dis moi j'ai un probleme etrange...
Donc j'ai utilisé le calendar de obout et bon je ne sias pas si sa viens vraiment de la mais quand je mis mon GridView et que je fais un update sans faire un EditTemplate sur Date bah sa marche mais quand j'ai mis dans le EditTemplate le calendar de obout il me dis :
La variable scalaire "@date" doit être déclarée.
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 18 mai 2006 à 17:14
Voila, j'ai essayé aussi de ne pas mettre date en EditTemplate et j'ai mis la colonne projet en DDL et pareil,
La variable scalaire "@projet" doit être déclarée.
Je comprends plus rien :s
Voici ma page si tu vois c'est quoi le probleme :
<
form
id="form1"
runat="server">
<div>
<span
style="font-size: 20pt; color: #0000ff">Liste des comptes-rendus
<br
/>
</span>
<hr
/>
</div>
<asp:Label
ID="LB_Identifiant"
runat="server"
Font-Bold="True"></asp:Label>, vos comptes-rendus pour
SelectCommand="SELECT [id], [userid], [date], [projet], [activite], [duree], [commentaire] FROM [cra] WHERE (([date] LIKE '%' + @date + '%') AND ([date] LIKE '%' + @date2 + '%') AND ([userid] = @userid)) ORDER BY [date]"
DeleteCommand="DELETE FROM cra WHERE (id = @original_id)"
UpdateCommand="UPDATE cra SET date = @date, projet = @projet, activite = @activite, duree = @duree, commentaire = @commentaire WHERE (id = @original_id)"
Et bien sur le morceau de code css àappilquer au panel :
.popupMenuHidden
{
position:
absolute;
visibility:
hidden;
overflow:
hidden;}
.popupMenu
{
position:
absolute;
overflow:
hidden;
}
Alors là le calendrier s'affiche lors de l'appuie sur un bouton mais il suffit de s'abonner à l'evenement onfocus()ou un truc du genre sur la textbox.
Pour expliquer brievement le code, lors du binding du gridview on renseigne la propriété onclientclick qui va appeler une fonction javascript qui va stocker dans le hiddenfield la ligne courante. On recupere par la suite la ligne courante afin de faire un findcontrol sur cette ligne. De cette maniere on est capable de dire kel textbox on veut.
Voilà j'espere que j'ai été clair et que ça te sera utile
cnguyen
Messages postés81Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention12 juillet 2006 19 mai 2006 à 13:24
Coucou,
Je voudrais savoir, en faites j'ai vu d'ou vener mon probleme de modification!
J'ai mon champs Date, mon champs projet, mon champs activite.
J'ai essayer de faire la modification en changeant un par un les champs.
Il s'avere que pour la date il n'y a pas de probleme, pour la date et le projet il n'y a pas de probleme.
Le probleme viens du champs activite!!
En faites le champs projet qui est affiché sous DDL affiche les differents projet.
Puis je souhaite que le champs activite affiche dans une DDL , les activites concernant le projet choisi.
Et c'est au niveau de cette liaison qu'il y a un probleme...
J'ai essayé de lié les DDL en dehors du GridView puis de les glisser dans leur edittemplate mais sa ne marche pas.
J'ai essayé de faire les DDL directement dans les Edittemplate mais apres dans la DDL activite, au niveau de la clause WHERE, il ne me propose pas de faire WHERE [mailto:projet=@projet projet=@projet] avec @projet comme DDL_projet.SelectedValue!! Il me propose seulement GridView1.
Si tu as deja reussi a faire une liaison dans un GridView de 2 DDL ou si tu vois la solution, je susi preneur :d
Une idée???