Pergunta : Problema que começ o valor selecionado de um CheckBoxList (usado em um gridview)

Eu tenho um gridview. Cada fileira tem uma lista do checkbox que seja limitada a uma origem de dados. Sempre que o uncheck/verificação de I um artigo mim quer funcionar selectedindexchanged para fazer algum material da base de dados. Por qualquer motivo, mesmo quando I UNCHECK o checkbox selecionado é sempre verdadeiro. Alguma idéia porque? o

protegeu o
do cblFolders_SelectedIndexChanged (remetente de ByVal como o objeto, ByVal e como System.EventArgs) escurece o cbl como o
do cbl de CheckBoxList
= do
do C (remetente, CheckBoxList) se cbl.SelectedItem.Selected então '
SEMPRE VERDADEIRO class= do

Resposta : Problema que começ o valor selecionado de um CheckBoxList (usado em um gridview)

Após o que é coberto até agora a resposta há… não está bastante informação sobre como você está colocando este vê até o que é errado…

Esta avaliação, [se cbl.SelectedItem.Selected então], conduzirá a 2 estados possíveis:
1) Verdadeiro
2) Erro porque cbl.SelectedItem não é nada
*** Seu kindof estúpido porque nunca será FALSO. Para que seja FALSO o artigo não é selecionado, e não pode conseqüentemente ser um “SelectedItem”. Se isto não faz o sentido então você apenas terá que jogar com ele algum para ver o que eu significo.

A única maneira é VERDADEIRO depois que você uncheck todos os artigos em uma fileira é se algo mais cedo no ciclo de vida da página o está afetando antes que nós começ ao evento de SelectedIndexChanged ou houver um problema com a execução databinding para o checkboxlist.

Eu uni uma amostra pequena que trabalhasse. É código que preguiçoso eu sei, mas faz e demonstra exatamente o que você está tentando fazer, e o que eu indic acima. Você tem-lhe que conexão seus próprios dados, mas qualquer coisa fará. Mostra doente o seu dos dados unido para a meu programa demonstrativo.

Eu espero se você faz uma versão simplificada do que você o está fazendo figurará para fora o que é errado, ou pelo menos você terá algo que você pode afixar aqui que nós podemos trabalhar com para ver o que é errado. Eu diria a mostra o gridview e databinding, mas o outro código poderia afetar também. Assim eu sugeri realmente fazer uma versão dummy para o teste. Minhas suposições são:

1) Re-está ligando ir sobre (eu sei que você tem considerado já este).
2) Você está injetando o checkboxlist como um controle dinâmico no gridview, e esta execução está causando o 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:
**** DA PÁGINA DO **** ASPX
<>







    Grade Proto


    
		SelectedIndex1:
Erro da exposição:
CÓDIGO DO **** ASPX.VB ATRÁS DO **** Importações System.Data.SqlClient _Default parcial da classe Herda System.Web.UI.Page connStr público de Const como a corda = “origem de dados =. \ SQLEXPRESS; Security=True Integrated” Page_Load secundário protegido (remetente de ByVal como o objeto, ByVal e como System.EventArgs) segura Me.Load Se não IsPostBack então BindGrid () Terminar se Terminar o submarino BindGrid secundário confidencial () Conexão não ofuscante como SqlConnection novo (connStr) Cmd não ofuscante como SqlCommand novo (“SELECIONAR * de DevTable”, as conexões) conexões. Abrem () Dr. não ofuscante como SqlDataReader = cmd.ExecuteReader GridView1.DataSource = Dr. GridView1.DataBind () Dr. Fechar () conexões. Fecham-se () conexões. Dispor () Submarino da extremidade GridView1_RowDataBound secundário protegido (remetente de ByVal como o objeto, ByVal e como System.Web.UI.WebControls.GridViewRowEventArgs) segura GridView1.RowDataBound Se e.Row.RowType = DataControlRowType.DataRow então Cbl não ofuscante como CheckBoxList = e.Row.FindControl (“cblBound”) Conexão não ofuscante como SqlConnection novo (connStr) Cmd não ofuscante como SqlCommand novo (“testID SELETO, fName de DevTable”, conexões) conexões. Abrem () Dr. não ofuscante como SqlDataReader = cmd.ExecuteReader cbl.DataSource = Dr. cbl.DataValueField = “testID” cbl.DataTextField = “fName” cbl.DataBind () Dr. Fechar () conexões. Fecham-se () conexões. Dispor () Terminar se Terminar o submarino Secundário protegido cblBound_SelectedIndexChanged (remetente de ByVal como o objeto, ByVal e como System.EventArgs) Cbl não ofuscante como CheckBoxList = DirectCast (remetente, CheckBoxList) Se cbl.SelectedItem não é nada então SelectedIndex1.Text = “nada selecionou” Mais SelectedIndex1.Text = cbl.SelectedItem.Selected Terminar se Tentativa Se cbl.SelectedItem.Selected então lblError.Text = cbl.SelectedItem.Text Terminar se Travar ex como a exceção lblError.Text = ex. Mensagem Tentativa do fim Submarino da extremidade Classe da extremidade **** SIMPLES DA TABELA DE BASE DE DADOS DO ***** testID fName lName nName sDate 1 ZERO do bblast da explosão da conta ZERO do jjamaih do jamaih de 2 jason ZERO do kbak do bak de 3 kang ZERO do rrabbit do coelho de 4 Roger ZERO NULO NULO NULO NULO
Outras soluções  
 
programming4us programming4us