cintiadel 0 Denunciar post Postado Abril 6, 2009 tenho uma pagina de solicitações, onde tenho um raddionbuttonlist que é populado através de um sqldatasource. onde ela deve fazer um verificaçao pra ver se o documento ja foi solicitado e se está pago, caso já esteja pago ele não deve exibir a opção ou bloquear a mesma para que não ocorra de pedir o mesmo documento. minha pergunta é : qual a melhor forma de fazer isso bloquear a opcao no raddionbuttonlist ou que não exiba a opcao? e como fazer isso? desde ja grata Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 6, 2009 Você pode usar o evento DataBound que ocorre depois que o SqlDataSource preencheu o RadioButtonList. foreach (ListItem item in this.radioButtonList.Items) { //Se o documento ja existe faz a linha de baixo item.Enabled = false; } Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 7, 2009 Você pode usar o evento DataBound que ocorre depois que o SqlDataSource preencheu o RadioButtonList. foreach (ListItem item in this.radioButtonList.Items) { //Se o documento ja existe faz a linha de baixo item.Enabled = false; } meu codigo é em vb, eu converti, mas ele tah bloqueando todas as opções. Protected Sub rbl_protocolo_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbl_protocolo.DataBound Dim conexao As New Data.SqlClient.SqlConnection("conexao") Dim comando As New Data.SqlClient.SqlCommand Dim req As Data.SqlClient.SqlDataReader Dim vQuant As Integer = 0 conexao.Open() comando.Connection = conexao comando.CommandText = "Select count(desc_serv) from tabela where desc_serv='" & Session("servico") & "' and status='Pago'" req = comando.ExecuteReader() If (req.Read) Then vQuant = CInt(req.Item(0).ToString()) End If If (vQuant = 0) Then Dim item As ListItem For Each item In Me.rbl_protocolo.Items 'Se o documento ja existe faz a linha de baixo item.Enabled = False Next item End If End Sub preciso q ele bloqueie so o item retornado pelo select Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 7, 2009 Você tem que fazer a consulta para cada item do RadioButtonList, verificar o que você precisa verificar e se for verdadeira sua condição, você bloqueia o item usando: o item.Enabled = False Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 7, 2009 Você tem que fazer a consulta para cada item do RadioButtonList, verificar o que você precisa verificar e se for verdadeira sua condição, você bloqueia o item usando: o item.Enabled = False o meu select vai verificar se a opcao selecionada atende as condições, ou seja se existe algo no banco dentro daquela condição de busca.se houver quero q ele bloquei esse serviço no raddionbuttonlist q atendeu a essa condição. n sei como fazer? como bloquear somente o item e nao o raddionbuttonlist todo???? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 8, 2009 A lógica é a mesma que eu postei no primeiro post. Veja o comentário. foreach (ListItem item in this.radioButtonList.Items) { //Aqui você faz a consulta e ve se o documento atual (variavel item) atende as condições, se sim executa: { item.Enabled = false; } //Se não atender, não faz nada, assim o item fica habilitado. } Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 9, 2009 A lógica é a mesma que eu postei no primeiro post. Veja o comentário. foreach (ListItem item in this.radioButtonList.Items) { //Aqui você faz a consulta e ve se o documento atual (variavel item) atende as condições, se sim executa: { item.Enabled = false; } //Se não atender, não faz nada, assim o item fica habilitado. } o que eu jogo na variavel item?ainda tah bloqueando tudo Dim item As ListItem For Each item In Me.rbl_protocolo.Items 'Aqui você faz a consulta e ve se o documento atual (variavel item) atende as condições, se sim executa: conexao.Open() comando.Connection = conexao comando.CommandText = "Select count(desc_serv) from tabela1 where ra='" & Session("ra") & "' and desc_serv='" & Session("servico") & "' and status='Pago'" req = comando.ExecuteReader() conexao.Close() If (True) Then item.Enabled = False End If Next item 'Se não atender, não faz nada, assim o item fica habilitado. Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 9, 2009 Você já tem a variavel item, ela está definida dentro do For Each. Não consigo te ajudar pois não sei as regras de negócio do seu sistema. Mas a idéia é que para cada item do radiobutton você vá no banco e procure as informaçoes que você quer, se estiver de uma maneira, você habilita, senão desabilita. If (True) Then item.Enabled = False End IfIsso aqiu está desabilitando tudo, você precisa trocar o True para uma condição conforme as regras do seu sistema. Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 9, 2009 Você já tem a variavel item, ela está definida dentro do For Each. Não consigo te ajudar pois não sei as regras de negócio do seu sistema. Mas a idéia é que para cada item do radiobutton você vá no banco e procure as informaçoes que você quer, se estiver de uma maneira, você habilita, senão desabilita. If (True) Then item.Enabled = False End IfIsso aqiu está desabilitando tudo, você precisa trocar o True para uma condição conforme as regras do seu sistema. ai desculpe a regra é q se o serviço escolhido ja foi requisitado e está pago ele desabilita a opcao, para que n seja pedido duas vezes. so dar uma olhada no select, por favor Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 13, 2009 Você já tem a variavel item, ela está definida dentro do For Each. Não consigo te ajudar pois não sei as regras de negócio do seu sistema. Mas a idéia é que para cada item do radiobutton você vá no banco e procure as informaçoes que você quer, se estiver de uma maneira, você habilita, senão desabilita. If (True) Then item.Enabled = False End IfIsso aqiu está desabilitando tudo, você precisa trocar o True para uma condição conforme as regras do seu sistema. consegui fazer com q funcionasse, mas pintou um outro problema. o meu raddiobuttonlist mostra tanto a descricao do serviço quanto o valor, sao dois campos concatenados no select, se eu deixo so a descricao ele busca e bloqueia como eu quero, mas se deixo com o valor ai n da certo tem como eu fazer isso pelo selectedvalue? se sim, como? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 13, 2009 O certo é sempre usar apenas o valor nas consultas, descrição é algo meramente descritivo. Se na sua base de dados você está gravando a descrição ao invés do valor, sua modelagem está errado. De qualquer forma, você pode fazer um tratamento de strings, se na tela está mostrando no formato: {valor} - {descrição} Você pode usar substring apartir do primeiro hifen e pegar apenas a descrição. Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 13, 2009 O certo é sempre usar apenas o valor nas consultas, descrição é algo meramente descritivo. Se na sua base de dados você está gravando a descrição ao invés do valor, sua modelagem está errado. De qualquer forma, você pode fazer um tratamento de strings, se na tela está mostrando no formato: {valor} - {descrição} Você pode usar substring apartir do primeiro hifen e pegar apenas a descrição. o valor é o valor em reais do serviçocomo ficaria com o substring? Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Maio 7, 2009 O certo é sempre usar apenas o valor nas consultas, descrição é algo meramente descritivo. Se na sua base de dados você está gravando a descrição ao invés do valor, sua modelagem está errado. De qualquer forma, você pode fazer um tratamento de strings, se na tela está mostrando no formato: {valor} - {descrição} Você pode usar substring apartir do primeiro hifen e pegar apenas a descrição. fiz o count pegando o id do serviço e funcionouobrigada tópico resolvido Compartilhar este post Link para o post Compartilhar em outros sites