Question : Problème obtenant la valeur choisie d'un CheckBoxList (utilisé dans un gridview)

J'ai un gridview. Chaque rangée a une liste de checkbox qui est liée à un point d'émission. Toutes les fois que l'uncheck/contrôle d'I un article je veulent courir selectedindexchanged pour faire une certaine substance de base de données. Pour quelque raison, même lorsqu'I UNCHECK le checkbox choisi est toujours vrai. Une idée pourquoi ? le

a protégé le
du cblFolders_SelectedIndexChanged (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs) obscurcissent le cbl en tant que nouveau
de cbl de CheckBoxList
= de
de C (expéditeur, CheckBoxList) si cbl.SelectedItem.Selected puis '
TOUJOURS VRAI class= de

Réponse : Problème obtenant la valeur choisie d'un CheckBoxList (utilisé dans un gridview)

Après ce qui est couvert jusqu'ici la réponse y a… il n'est pas assez d'informations sur la façon dont vous étendez ceci voyez jusqu'à ce qu'est faux…

Cette évaluation, [si cbl.SelectedItem.Selected puis], aura comme conséquence 2 états possibles :
1) Vrai
2) Erreur parce que cbl.SelectedItem n'est rien
*** Son kindof stupide parce qu'il ne sera jamais FAUX. Pour qu'il soit FAUX l'article n'est pas choisi, et ne peut pas donc être un « SelectedItem ». Si ceci ne semble pas raisonnable puis vous devrez simplement en jouer avec lui pour voir ce que veux dire je.

La seule manière il est VRAI après que vous uncheck tous les articles dans une rangée soit si quelque chose plus tôt dans le cycle de vie de page l'affecte avant que nous obtenions à l'événement de SelectedIndexChanged ou il y a un problème avec l'exécution databinding pour le checkboxlist.

J'ai remonté un petit échantillon qui fonctionne. C'est code paresseux que je sais, mais il fait et démontre exactement ce que vous essayez de faire, et ce que j'ai énoncé ci-dessus. Vous devez conjugaison vos propres données à elle, mais quelque chose suffira. Exposition malade le son de données attaché à pour ma démo.

Je compte si vous faites une version simplifiée de ce que vous vous faites figurerez dehors ce qu'est faux, ou au moins vous aurez quelque chose que vous pouvez signaler ici que nous pouvons travailler avec pour voir ce qui est erroné. Je dirais l'exposition le gridview et databinding, mais l'autre code pourrait affecter aussi bien. Ainsi j'ai vraiment proposé de faire une version factice pour l'essai. Mes conjectures sont :

1) Là re-lie continuer (je sais que vous avez déjà considéré ceci).
2) Vous injectez le checkboxlist comme commande dynamique dans le gridview, et cette exécution cause le wonkiness.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
**** DE PAGE DU **** ASPX
<>







    Grille Proto


    
		SelectedIndex1 :
Erreur d'affichage :
CODE DU **** ASPX.VB DERRIÈRE LE **** Importations System.Data.SqlClient _Default partiel de classe Hérite de System.Web.UI.Page connStr public de Const comme corde = « point d'émission =. \ SQLEXPRESS ; Security=True Integrated » Page_Load secondaire protégé (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs) manipule Me.Load Sinon IsPostBack alors BindGrid () Finir si Finir le sous-marin BindGrid secondaire privé () Faibles conn. en tant que nouveau SqlConnection (connStr) Faible cmd en tant que nouveau SqlCommand (« CHOISIR * À PARTIR de DevTable », les conn.) conn. S'ouvrent () Faible Dr. comme SqlDataReader = cmd.ExecuteReader GridView1.DataSource = Dr. GridView1.DataBind () Dr. Se fermer () conn. Se ferment () conn. Disposent () Sous-marin d'extrémité GridView1_RowDataBound secondaire protégé (expéditeur de ByVal comme objet, ByVal e comme System.Web.UI.WebControls.GridViewRowEventArgs) manipule GridView1.RowDataBound Si e.Row.RowType = puis DataControlRowType.DataRow Faible cbl comme CheckBoxList = e.Row.FindControl (« cblBound ») Faibles conn. en tant que nouveau SqlConnection (connStr) Faible cmd en tant que nouveau SqlCommand (« testID CHOISI, fName de DevTable », conn.) conn. S'ouvrent () Faible Dr. comme SqlDataReader = cmd.ExecuteReader cbl.DataSource = Dr. cbl.DataValueField = « testID » cbl.DataTextField = « fName » cbl.DataBind () Dr. Se fermer () conn. Se ferment () conn. Disposent () Finir si Finir le sous-marin Secondaire protégé cblBound_SelectedIndexChanged (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs) Faible cbl comme CheckBoxList = DirectCast (expéditeur, CheckBoxList) Si cbl.SelectedItem n'est rien alors SelectedIndex1.Text = « rien a choisi » Autrement SelectedIndex1.Text = cbl.SelectedItem.Selected Finir si Essai Si cbl.SelectedItem.Selected alors lblError.Text = cbl.SelectedItem.Text Finir si Attraper ex comme exception lblError.Text = ex. Message Essai de fin Sous-marin d'extrémité Classe d'extrémité **** SIMPLE DE TABLE DE BASE DE DONNÉES DE ***** testID fName lName nName sDate 1 NULLE de bblast de souffle de facture NULLE de jjamaih de jamaih de 2 jason NULLE de kbak de bak de 3 kang NULLE de rrabbit de lapin de 4 Roger NULLE NULLE NULLE NULLE NULLE
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us