begin process at 2012 05 28 01:38:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Probleme de controle d'une checkbox créer dynamiquement


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

Probleme de controle d'une checkbox créer dynamiquement

vendredi 19 février 2010 à 10:46:30 | Probleme de controle d'une checkbox créer dynamiquement

Smirneo

Salut à tous,

ca fait 2 jours que je chercher a trouver les controles "checkbox" dans ma page, enfin j'y arrive.

Maintenant mon problème est que lorsque je tombe dessus ils ne sont jamais checked!!

donc fin.....

si vous pouviez m'expliquer quelle erreur j'ai pue commettre se serai le pied!!!

voila comment je crée ma checkbox dans un panel:
Code C# :
      //Checkbox
                check = new CheckBox();
                check.ID = "check" + item.IMG_ID.ToString();
                check.Text = " A supprimé<br/>";

                //Panel
                pan1 = new Panel();
                pan1.ID = "pan" + i;
                pan1.Width = 180;
                pan1.Style.Add("float", "left");
                pan1.Controls.Add(check);
                pan1.Controls.Add(Img);[code=cs]


voila maintenant comment je la récupère :

Code C# :
public static string Checkbox_verif(Control c)
    {
        string checkid = null;
         if (c != null)
        {
            foreach (Control item in pan1.Parent.Controls)
            {
                if (item.Controls.Count > 0)
                {
                    if (item is Panel)
                    {
                        foreach (Control item1 in item.Controls)
                        {
                            if (item1 is CheckBox)
                            {
                                if ((item1 as CheckBox).Checked)
                                {//ICI c'est tjrs False!!!
                                        checkid += (item1.ID+"/");
                                }
                            }
                        }
                    } 
                }
            }
        }
         if (checkid != null)
             return checkid;
         else
             return null;
    }


mais (item1 as checkbox).checked = toujours toujours toujours false!!!

Please help me!!
vendredi 19 février 2010 à 14:02:11 | Re : Probleme de controle d'une checkbox créer dynamiquement

nhervagault

Administrateur CodeS-SourceS
Salut,

Quand sont crée les checkbox et quand est exécuté le code Checkbox_verif
vendredi 19 février 2010 à 22:25:17 | Re : Probleme de controle d'une checkbox créer dynamiquement

Smirneo

Salut,

Alors je crée dynamiquement les checkbox sur une requête sql qui ressort des photos dans un panel et j'y ajoute une checkbox pour pouvoir vérifier si après un 'click_button' les photos sont sélectionnées ou pas.

Tous ça pour récupérer l'id de l'image attacher a ma checkbox:

Code C# :
check.id="check"+item.IMAGE_ID;


le probleme est que j'arrive a atteindre l'id de ma checkbox mais le check est toujours false et quand je débug et que je met manuellement la valeur a true tous le reste marche..

si tu pouvais m'aider ça m'enlèverai une très grosse épine (voir un rosier là!!! ^^)
Merci d'avance.
vendredi 19 février 2010 à 22:33:14 | Re : Probleme de controle d'une checkbox créer dynamiquement

nhervagault

Administrateur CodeS-SourceS
Il manquerait pas le not ispostpack paz hasard?
vendredi 19 février 2010 à 22:37:24 | Re : Probleme de controle d'une checkbox créer dynamiquement

nhervagault

Administrateur CodeS-SourceS
Regardes avec firebug l'id réel de tes images ou dans le sourece
C'est peut être
panel1_check"+item.IMAGE_ID

IL n'est pas recommandé de faire l'attribution de l'id en asp.net

Il est préférable d'utiliser les repeaters pour faire ce travail et la méthode findcontrol

Code C# :
for (int i = 0; i <= rptNotering.Items.Count - 1; i++)
            {
                Button delete = (Button)rptNotering.Items[i].FindControl("btnDelete");
                delete.Visible = true;
                Button edit = (Button)rptNotering.Items[i].FindControl("btnEdit");
                edit.Visible = true;
            } 
lundi 22 février 2010 à 09:16:38 | Re : Probleme de controle d'une checkbox créer dynamiquement

Smirneo

Merci nhervagault j'essaye ca de suite et je te renvoie le retour!!
lundi 22 février 2010 à 11:00:04 | Re : Probleme de controle d'une checkbox créer dynamiquement

Smirneo

Alors après de multiple test avec le repeater je retrouve bien ma checkbox;
mais rien à y faire elle reste encore et toujours à false, faudrait-il recharger la page ou créer un évènement sur la checkbox coté serveur pour vérifier qu'elle est cochée??

Ou au pire des cas aurais-tu un autre contrôle que la checkbox à ajouter à l'image charger dans un panel qui permettrai de faire une sélection multiple avant une validation???

Merci...
lundi 22 février 2010 à 18:30:50 | Re : Probleme de controle d'une checkbox créer dynamiquement

nhervagault

Administrateur CodeS-SourceS
Peux-tu mettre le code que tu as maintenant?
Du moins une version minimal qui reproduit le bug (juste les controles
repeater et checkbox de maniere à comprendre ou est le problème.

Car je pense qu'il y a un pb de conception/utilisation du framework de ta part.

mardi 23 février 2010 à 08:33:46 | Re : Probleme de controle d'une checkbox créer dynamiquement

Smirneo

Code C# :
//Checkbox
check = new CheckBox();
check.Visible = true;
check.ID = "check";
check.Text = " A supprimé<br/>";
check.EnableViewState = true;
check.CausesValidation = true;

//Repeater
rptNew = new Repeater();
rptNew.ID = "rpt" + i;
rptNew.Controls.Add(check);
rptNew.Controls.Add(Img);

public static string Checkbox_verif(Control c)
{
	string checkid = null;
	if (c != null)
	{
		foreach (Control item in rptNew.Parent.Controls)
		{
			if (item.Controls.Count > 0)
			{
				if (item is Repeater)
				{
					foreach (Control item1 in item.Controls)
					{
					if (item1 is CheckBox)
						{//la j'y arrive mais checked = false	
							if ((item1 as CheckBox).Checked)
							{
								checkid += (item1.ID + "/");
							}
						}
					}
				}
			}
		}
	}
	if(checkid != null)
		return checkid;
	else
		return null;
}


la ou il y a le commentaire je vois dans le debug il y a l'id sur ma checkebox mais la valeur checked = false!! et quand dans le debug je met true tous fonctionne, c'est juste que le check n'est pas pris en compte avec les fonctions de controles.
mardi 23 février 2010 à 19:15:42 | Re : Probleme de controle d'une checkbox créer dynamiquement

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Ok,

C'est bien ce que je pense tu ne sais pas utiliser asp.net
Voici un exemple que je viens de faire bon dev

Code C# :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace WebApplication1
{
    public class Livre
    {
        public Livre(bool isDotnet, string name)
        {
            this.isDotnet = isDotnet;
            this.name = name;
        }
        public bool isDotnet { get; set; }
        public string name { get; set; }
    }

    public partial class _Default : System.Web.UI.Page
    {
        private List<Livre> bibliotheque = new List<Livre>();
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = "<b>Livres sélectionnés :</b><br/>";
     
            if (!IsPostBack) 
            {        
                LoadData();
            }
           
        }
        public void LoadData() {
            bibliotheque.Add(new Livre(true, @"c# par la pratique"));
            bibliotheque.Add(new Livre(false, @"Linux for dummies"));
            Repeater1.DataSource = from l in bibliotheque
                                   select l;
            Repeater1.DataBind();
        }

        public void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Livre livre = (Livre) e.Item.DataItem ;
                CheckBox chkIsDotnet = e.Item.FindControl("chkIsDotnet") as CheckBox;
                chkIsDotnet.Checked = livre.isDotnet;
                TextBox txtName = e.Item.FindControl("txtName") as TextBox;
                txtName.Text = livre.name;
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            
            foreach (RepeaterItem item in Repeater1.Items)
            {
                if ((item.FindControl("chkIsDotnet")as CheckBox).Checked)
                {
                    Label1.Text = String.Concat(Label1.Text,(item.FindControl("txtName") as TextBox).Text, "<Br/>");
                }     
           }
        }
    }   
}



Code ASP.NET :
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" >
            <ItemTemplate>
                <asp:CheckBox runat="server" ID="chkIsDotnet" />
                <asp:TextBox runat="server" ID="txtName" > </asp:TextBox><br />
            </ItemTemplate>
        </asp:Repeater>
    </div>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        style="width: 56px" Text="Button" />
    <p>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </p>
    </form>
</body>
</html>


1 2

Cette discussion est classée dans : code, checkbox, check, pan1, if


Répondre à ce message

Sujets en rapport avec ce message

DataGrid et checkbox [ par tobleronne ] Bonjour, Je voudrais recuperer les valeurs des checkbox cochées lorsque je click mon bouton submit. code aspx : Code: < CheckBox en C# ASP.net [ par Abdi075 ] voila j'utimlise un checkbox dans mon appli et voic le code en html : et en code behind j'écris  la méthode  changeClik <br Grille de checkbox [ par maitredede ] Bonjour,J'ai besoin d'un contrôle me permettant de créer une grille qui me permette d'avoir une check pour une paire de valeur.Exemple :Les lignes son heure et comparaisons [ par ludwigfve ] Bonjour voila mon probléme je veux verifier qu'un enregsitrement n'existe pas dans ma table acces avec le meme nom  la meme date resa et la meme heure between ou like ou = [ par ludwigfve ] Voici mon code avec lequel je veux que la valeur de la requête  soit comprise entre heure_de_debut et heure_de_fin donc si h de  début=08h30 eth de fi recordset asp et boucle do [ par tempus75 ] bonjour a tous, j'ai un leger probleme avec mon code, il doit representer graphiquement (avec un tableau) une salle de theatre et afficher en rouge le CheckBox dans un GridView pour supprimer [ par KimBoOKNI ] Salut tout le monde ! S'il vous plait est ce que vous pouvez m'aider avec un code qui explique comment utiliser un CheckBox dans un GridView, pour uti creation dynamique des composant [ par calojiro ] je suis entrain de créer un formulaire dynamique depuis une BDD,je crée des checkBox et des TextBox (composants serveur), la création passe bien mais [vb.net] Mise a jour de plusieurs enregistrement du datagrid [ par blueghost ] je veux mettre à jour les enregistrements pr lesquels la case valider (checkbox) a été coché  e ncliquant sur le bouton update du template (header)J'a Probleme checkbox dans gridview [ par Chevalier2708 ] Bonjour à tous, Voilà j'utilise un gridview pour extraire des données à partir d'une base de donnée. Voici mon code : [code=aspx]


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 (3)

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