Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julierme Felix

[Resolvido] Questionario com R.adioButtonList datagrid - VS2003

Recommended Posts

Pessoal tenho um formulario para avaliação de professor, as questão são apresentadas em um datagrid, e em um template column tenho um R.adioButtonList com as opções: regular, bom, ótimo e excelente, tenho um outro template column com um textbox.

A dinamica é a seguinte:

Se o aluno marca a opção regular ou bom no R.adioButtonList1 o textbox deve ficar visivel para ele poder digitar sua opinião para melhora naquela questão

 

A duvida:

Não estou conseguindo fazer o textbox aparecer ao marcar a opção no R.adioButtonList(R.adioButtonList já esta com a opção AutoPostBack definido como true)

 

Código:

cbprofessor.Visible = True
        Button2.Visible = True
        Button3.Visible = True
        Dim r As Integer
        Dim b As Integer
        Dim o As Integer
        Dim e1 As Integer
        'r = 1
        Dim dat2 As SqlDataAdapter
        Dim ds2 As DataSet
        Dim myLin As SqlCommand = Cn.CreateCommand()
        Dim myCB As String = "select count(*)  from tblresultado where idquestao=@col and pr_codigo=@pr and aluno_codigo=@al"
        myLin.CommandText = myCB
        myLin.Parameters.Add("@col", SqlDbType.Int).Value = 1
        myLin.Parameters.Add("@pr", SqlDbType.NVarChar).Value = cbprofessor.SelectedValue
        myLin.Parameters.Add("@al", SqlDbType.NVarChar).Value = Session("UserId").ToString
        'myLin.Parameters.Add("@aula2", SqlDbType.NVarChar).Value = DropDownList2.SelectedValue.Trim
        dat2 = New SqlDataAdapter(myLin)
        ds2 = New DataSet
        dat2.SelectCommand = myLin
        Dim dr1 As SqlDataReader
        Cn.Open()
        Dim resultado As Object = myLin.ExecuteScalar
        If Not resultado Is Nothing AndAlso Convert.ToInt32(resultado) > 0 Then
            MessageBox1.ShowMessage("Questionário desse professor já esta respondido!!! Favor Escolher outro professor!!!")
        Else
            Dim drAux As DataRow
            For Each item As DataGridItem In Me.DataGrid1.Items
                If item.ItemType = ListItemType.Item OrElse item.ItemType = ListItemType.AlternatingItem Then
                    Dim ckitem As RadioButtonList
                    ckitem = DirectCast(item.Cells(1).FindControl("RadioButtonList1"), RadioButtonList) 'DirectCast(item.FindControl("RadioButtonList1"), RadioButtonList)
                    Dim i As Integer
                    For i = 0 To ckitem.Items.Count - 1
                        If ckitem.Items(i).Selected Then
                            If ckitem.SelectedValue.ToLower.Equals("regular") Then
                                r = 5
                                'Me.Label1.Text &= item.Cells(0).Text & "-" & r & "-" 'ckitem.Items(i).Value & "-"
                            Else
                                r = 0
                            End If
                            If ckitem.SelectedValue.ToLower.Equals("bom") Then
                                b = 7
                                'MessageBox3.ShowMessage("Você Respondeu as questões:" & item.Cells(0).Text & "-" & ckitem.Items(i).Value & "-")
                            Else
                                b = 0
                            End If
                            If ckitem.SelectedValue.ToLower.Equals("ótimo") Then
                                o = 8
                                'Me.Label1.Text &= item.Cells(0).Text & "-" & o & "-" 'ckitem.Items(i).Value & "-"
                            Else
                                o = 0
                            End If
                            If ckitem.SelectedValue.ToLower.Equals("excelente") Then
                                e1 = 10
                                'Me.Label1.Text &= item.Cells(0).Text & "-" & e1 & "-" 'ckitem.Items(i).Value & "-"
                            Else
                                e1 = 0
                            End If
                        End If
                    Next
                    drAux = ResultDS1.Tables("tblresultado").NewRow
                    drAux("ID") = ProximoNumero()
                    drAux("IDquestao") = item.Cells(0).Text
                    drAux("pr_codigo") = cbprofessor.SelectedValue
                    drAux("Aluno_Codigo") = Session("UserID").ToString
                    drAux("Regular") = r
                    drAux("Bom") = b
                    drAux("Otimo") = o
                    drAux("Excelente") = e1
                    drAux("cr_codigo") = EditCrcodigo.Text
                    drAux("serie") = EditSerie.Text
                    drAux("turma") = EditTurma.Text
                    ResultDS1.Tables("tblresultado").Rows.Add(drAux)
                    SqlDataAdapter2.Update(ResultDS1)
                End If
            Next
            MessageBox2.ShowConfirmation("Questionario Respondido!!!", "NÃO", False, True)
            Cn.Close()
            Label4.Visible = True
            cbprofessor.Visible = True
            Button2.Visible = True
            Button3.Visible = True
        End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que evento é este? Esta usando o evento selected?

 

Abraços...

 

Sim estou usando o selected do r.adiobuttonlist...

Já consegui fazer alguma coisa

coloquei o codigo no load da pagina

For Each item As DataGridItem In Me.DataGrid1.Items
            If item.ItemType = ListItemType.Item OrElse item.ItemType = ListItemType.AlternatingItem Then
                Dim ckitem As RadioButtonList
                Dim txtmelhor As TextBox
                ckitem = DirectCast(item.Cells(1).FindControl("RadioButtonList1"), RadioButtonList) 
                txtmelhor = DirectCast(item.Cells(1).FindControl("txtmelhora"), TextBox)
                Dim i As Integer
                For i = 0 To ckitem.Items.Count - 1
                    If ckitem.Items(i).Selected Then
                        If ckitem.SelectedValue.ToLower.Equals("regular") Then
                            txtmelhor.Visible = True
                            Button3.Visible = True
                        End If
                        If ckitem.SelectedValue.ToLower.Equals("bom") Then
                            txtmelhor.Visible = True
                            Button3.Visible = True
                        End If
                        If ckitem.SelectedValue.ToLower.Equals("ótimo") Then
                            txtmelhor.Visible = False
                            Button3.Visible = True

                        End If
                        If ckitem.SelectedValue.ToLower.Equals("excelente") Then
                            txtmelhor.Visible = False
                            Button3.Visible = True
                            
                        End If
                    End If
                Next
            End If
        Next

Pessoal já resolvi a 1ª duvida...

 

Vanmos para a segunda..

O r.adiobuttonlist esta configurado para autopostback, pois bem o formulario possui 26 questões, se clico por exemplo na questão de numero 13 executa o postback e volta para o inicio da pagina.

Como fazer para continuar visualizando onde cliquei, pois isso esta causando um incomodo ter que rolar a barra para chegar onde estava...

Obs. o formulario será usado por crianças(alunos)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.