Usuário com melhor resposta
FindControl

Pergunta
-
Espero que alguém me ajude hehe
Então, eu tenho 1 checkbox e quero colocar o status dele em uma label, porém quando uso o FindControl, ele me retorna o erro abaixo:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:Line 15: Line 16: CheckBox Approval1 = (CheckBox)RadGrid1.FindControl("rApproval1"); Line 17: string strApproval1 = Approval1.ToString();
E quando uso o
string strApproval1 = Convert.ToString(Approval1);
Não retorna nada.
Alguém tem alguma solução?
Respostas
-
OU CASO NÃO SEJA O QUE VOCE QUER, TENTE ISSO:
For Each r as GridViewRow In Me.gv.Rows
Dim checkBox as checkBox = CType(r.FindControl("NomeDoCheckBox"), checkBox)
If r.cells(nº da coluna q está uma das checkbox do banco).Text = True and r.cells(nº da coluna q está a outra checkbox do banco).Text = True then
checkBox.Checked = True
Else
CheckBox.Checked = False
End If
Abç
- Marcado como Resposta Harley Araujo quinta-feira, 30 de agosto de 2012 11:18
Todas as Respostas
-
-
Correto!
Em detalhes é o seguinte... no sistema tem 2 CheckBox que pega True ou False do Banco de Dados. O terceiro CheckBox não pega nada do banco de dados, porém tem que ficar como marcado se esses 2 CheckBox estiverem como True.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:Line 21: { Line 22: CheckBox chkbx = (CheckBox)item.FindControl("rApproval2"); Line 23: chkbx.Checked = true; Line 24: } Line 25: }
-
-
Raffael, você está tentando converter um valor CheckBox em string e isso não é possível, geralmente, o controle CheckBox retorna um valor True or False.
Se o controle estiver checked, resultado1 = true, senão, false.
bool resultado1 = Approval1.Checked;
if(resultado1 == True)
string Texto = "Resultado TRUE";
else
string Texto = "Resultado FALSE";
-
Não estou conseguindo resolver... a questão é a seguinte... tenho os campos abaixo:
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:CheckBox runat="server" ID="ckbApproval" Enabled="false" ></asp:CheckBox>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridCheckBoxColumn DataField="rApproval1"
FilterControlAltText="Filter rApproval1 column" HeaderText="Approval 1"
SortExpression="rApproval1" UniqueName="rApproval1">
</telerik:GridCheckBoxColumn>
<telerik:GridCheckBoxColumn DataField="rApproval2"
FilterControlAltText="Filter rApproval2 column" HeaderText="Approval 2"
SortExpression="rApproval2" UniqueName="rApproval2">
</telerik:GridCheckBoxColumn>O primeiro campo não pega dado nenhum do banco de dados, mas os outros 2 sim. Caso o rApproal1 e o rApproval2 estejam como true (checked), então o ckbApproval tem que ficar como checked também.
-
Rafael, faz o seguinte:
no lugar de ""strApproval1 = Convert.ToString(Approval1);"" coloca:
Session("string strApproval1") = Convert.ToString(Approval1);
A Session("string strApproval1") é tipo uma variável. o valor fica armazenada nela, mesmo que voce mude de webform.
-
-
OU CASO NÃO SEJA O QUE VOCE QUER, TENTE ISSO:
For Each r as GridViewRow In Me.gv.Rows
Dim checkBox as checkBox = CType(r.FindControl("NomeDoCheckBox"), checkBox)
If r.cells(nº da coluna q está uma das checkbox do banco).Text = True and r.cells(nº da coluna q está a outra checkbox do banco).Text = True then
checkBox.Checked = True
Else
CheckBox.Checked = False
End If
Abç
- Marcado como Resposta Harley Araujo quinta-feira, 30 de agosto de 2012 11:18