none
DropDownList tem um SelectedValue que é inválido porque ele não existe na lista de itens. RRS feed

  • Pergunta

  • Abaixo um trecho do código VB da página que retorna com o título do post no comando "ddl_interesse_alt".

    No Load da página eu faço o carregamento do ddl_interesse_alt.

    Fazendo Break point a mensagem aparece na linha" ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)". 

    O que estou tentando é carregar os campos do formulário com gvw_usuario_alt_SelectedIndexChanged.

    <asp:DropDownList ID="ddl_interesse_alt" runat="server" 
                                                                Width="207px" BackColor="White" Height="25px" AutoPostBack="True">
                                                                <asp:ListItem Value="1">Escolha a opção onde se identifica</asp:ListItem>
                                                                <asp:ListItem Value="2">Ser portador(a) Diabetes tipo 1</asp:ListItem>
                                                                <asp:ListItem Value="3">Ser portador(a)  Diabetes tipo 2</asp:ListItem>
                                                                <asp:ListItem Value="4">Ser portador(a) outro tipo Diabetes</asp:ListItem>
                                                                <asp:ListItem Value="5">Ser portador(a) de Hipertensão Arterial</asp:ListItem>
                                                                <asp:ListItem Value="6">Ser portador(a) Diabetes e outra doença associada</asp:ListItem>
                                                                <asp:ListItem Value="7">Ser portador(a) de outra(s) doença(s)</asp:ListItem>
                                                                <asp:ListItem Value="8">Ser colaborador(a) ou voluntário(a)</asp:ListItem>
                                                                <asp:ListItem Value="9">Ser patrocinador(a) ou parceiro(a)</asp:ListItem>
                                                                <asp:ListItem Value="10">Ser profissional de saúde ou prestador de serviço</asp:ListItem>
                                                                <asp:ListItem Value="0"></asp:ListItem>
    </asp:DropDownList> 

    Imports System.Data.OleDb
    Imports System.Data.DataSet
    Imports System.Web.UI.WebControls

    Public Class cad_usuario_alt
        Inherits System.Web.UI.Page
        Dim con As New OleDbConnection
        Dim DataSet As New DataSet
        Dim retDATASET As DataSet = New DataSet

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                cargaDataset()
                desabilita()
                Session.Add("DS", DataSet)
            Else
                DataSet = Session.Item("DS")
            End If
        End Sub

        Private Sub cargaDataset()
            DataSet.Tables.Clear()
            retDATASET.ReadXml(Server.MapPath("output.xml"))

            rbl_sexo_alt.Items.Clear()
            rbl_sexo_alt.DataSource = retDATASET.Tables("TBSexo")
            rbl_sexo_alt.DataTextField = ("sexo")
            rbl_sexo_alt.DataValueField = ("id_sexo")
            rbl_sexo_alt.DataBind()

            ddl_interesse_alt.Items.Clear()
            ddl_interesse_alt.DataSource = retDATASET.Tables("TBInteresse")
            ddl_interesse_alt.DataTextField = ("interesse")
            ddl_interesse_alt.DataValueField = ("id_interesse")
            ddl_interesse_alt.DataBind()
            ddl_interesse_alt.Items.Insert(0, "")
            ddl_interesse_alt.SelectedIndex = 0

            ddl_uf_alt.Items.Clear()
            ddl_uf_alt.DataSource = retDATASET.Tables("TBuf")
            ddl_uf_alt.DataTextField = ("UFNOME")
            ddl_uf_alt.DataValueField = ("UFCOD")
            ddl_uf_alt.DataBind()
            ddl_uf_alt.Items.Insert(0, "")
            ddl_uf_alt.SelectedIndex = 0

            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0

            Dim Dadapter100 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter100.SelectCommand = New OleDbCommand("SELECT A.id_usu, A.nome, B.sexo, A.data_nasc, C.interesse, A.telefone, D.UFNOME, E.MUNNOME, A.email, A.usuario, A.senha FROM tb_cad_usuario A, tb_sexo B, tb_interesse C, tb_cad_uf D, tb_cad_mun E WHERE nome LIKE '%" + txt_pesquisa_alt.Text + "%' AND A.cod_sexo = B.id_sexo AND A.cod_interesse = C.id_interesse AND A.cod_uf = D.UFCOD AND A.cod_munic = E.MUNCOD ORDER BY id_usu DESC", New OleDbConnection(My.Settings.cs))
            Dadapter100.Fill(DataSet, "TBusuario")

        End Sub

        Private Sub limpa()
            txt_nome_alt.Text = ""
            rbl_sexo_alt.ClearSelection()
            txt_data_nasc_alt.Text = ""
            ddl_interesse_alt.SelectedIndex = 0
            txt_telefone_alt.Text = ""
            ddl_uf_alt.SelectedIndex = 0
            ddl_mun_alt.SelectedIndex = 0
            txt_email_alt.Text = ""
            Label1_alt.Text = ""
            Label2_alt.Text = ""
            lblCodUsu_alt.Text = ""
        End Sub
        Protected Sub ddl_uf_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddl_uf_alt.SelectedIndexChanged
            ddl_mun_alt.Enabled = True
            ddl_uf_alt.BackColor = Drawing.Color.White
            If IsPostBack Then
                ddl_mun_alt.Items.Clear()
                retDATASET.ReadXml(Server.MapPath("output.xml"))
                Dim ItemDataView As New DataView(retDATASET.Tables("TBmun"))
                ItemDataView.RowFilter = "UFCOD = " & ddl_uf_alt.SelectedItem.Value
                ddl_mun_alt.DataSource = ItemDataView
                ddl_mun_alt.DataTextField = ("MUNNOME")
                ddl_mun_alt.DataValueField = ("MUNCOD")
                ddl_mun_alt.DataBind()
                ddl_mun_alt.Items.Insert(0, "")
                ddl_mun_alt.SelectedIndex = 0
            End If
        End Sub

        Private Sub cargaMunicipio()
            ddl_mun_alt.Items.Clear()
            ddl_mun_alt.DataSource = retDATASET.Tables("TBmun")
            ddl_mun_alt.DataTextField = ("MUNNOME")
            ddl_mun_alt.DataValueField = ("MUNCOD")
            ddl_mun_alt.DataBind()
            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0
        End Sub

       
        Protected Sub btn_gravar_alt_Click(sender As Object, e As EventArgs) Handles btn_gravar_alt.Click
            If modoCad.Text = "A" Then
                If Me.IsValid() Then
                    alterar()
                    desabilita()
                    modoCad.Text = ""
                End If
            End If
            If modoCad.Text = "I" Then
                If Me.IsValid() Then
                    inserir()
                    desabilita()
                End If
            End If
            If modoCad.Text = "E" Then
                excluir()
                desabilita()
            End If
            modoCad.Text = "X"
        End Sub

        Protected Sub btn_pesquisa_alt_Click(sender As Object, e As EventArgs) Handles btn_pesquisa_alt.Click
            gvw_usuario_alt.DataSource = DataSet.Tables("TBusuario")
            gvw_usuario_alt.DataBind()
            modoCad.Text = ""
            Label2_alt.Text = ""
        End Sub

        Protected Sub gvw_usuario_alt_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvw_usuario_alt.RowDataBound
            If e.Row.RowType = DataControlRowType.Header Then
                e.Row.Cells(1).Text = "id_usu"
                e.Row.Cells(2).Text = "Nome"
                e.Row.Cells(3).Text = "Sexo"
                e.Row.Cells(4).Text = "Data Nasc"
                e.Row.Cells(5).Text = "Interesse"
                e.Row.Cells(6).Text = "Telefone"
                e.Row.Cells(7).Text = "UF"
                e.Row.Cells(8).Text = "Município"
                e.Row.Cells(9).Text = "Email"
                e.Row.Cells(10).Text = "Usuário"
                e.Row.Cells(11).Text = "Senha"
            End If
            If e.Row.RowType = DataControlRowType.DataRow Then
                e.Row.Cells(0).Visible = True
                e.Row.Cells(1).Visible = True
                e.Row.Cells(2).Visible = True
                e.Row.Cells(3).Visible = True
                e.Row.Cells(4).Visible = True
                e.Row.Cells(5).Visible = True
                e.Row.Cells(6).Visible = True
                e.Row.Cells(7).Visible = True
                e.Row.Cells(8).Visible = True
                e.Row.Cells(9).Visible = True
                e.Row.Cells(10).Visible = True
                e.Row.Cells(11).Visible = True
            End If
        End Sub


        Protected Sub gvw_usuario_alt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvw_usuario_alt.SelectedIndexChanged
            cargaMunicipio()
            limpa()
            btn_inserir_alt.Enabled = False
            btn_alterar_alt.Enabled = True
            btn_excluir_alt.Enabled = True
            btn_cancelar_alt.Enabled = True

            lblCodUsu_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(1).Text)
            txt_nome_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(2).Text)
            If gvw_usuario_alt.SelectedRow.Cells(3).Text = "" Then
                rbl_sexo_alt.ClearSelection()
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Masc" Then
                rbl_sexo_alt.SelectedValue = 1
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Fem" Then
                rbl_sexo_alt.SelectedValue = 2
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Ign" Then
                rbl_sexo_alt.SelectedValue = 3
            End If
            txt_data_nasc_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(4).Text)
            ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)
            txt_telefone_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(6).Text)
            ddl_uf_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(7).Text)
            ddl_mun_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(8).Text)
            txt_email_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(9).Text)
            txt_usuario_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(10).Text)
            txt_senha_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(11).Text)
            Label1_alt.Text = ""
            Label2_alt.Text = ""
        End Sub
    segunda-feira, 25 de março de 2013 19:01

Respostas

  • eu faço sempre assim qdo quero obrigar o usuário a selecionar um item no dropdownlist, clique na opção desing e selecione o dropdownlist e clique em propriedades nas opções coloque true em AppenddataBoundItem e vá em itens(collections) e adicione o item colocar o valor para 0.

    Junior

    Valeu amigão.
    • Marcado como Resposta Boris Wilson quarta-feira, 27 de março de 2013 14:05
    quarta-feira, 27 de março de 2013 14:05

Todas as Respostas

  • Abaixo um trecho do código VB da página que retorna com o título do post no comando "ddl_interesse_alt".

    No Load da página eu faço o carregamento do ddl_interesse_alt.

    Fazendo Break point a mensagem aparece na linha" ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)". 

    O que estou tentando é carregar os campos do formulário com gvw_usuario_alt_SelectedIndexChanged.

    <asp:DropDownList ID="ddl_interesse_alt" runat="server" 
                                                                Width="207px" BackColor="White" Height="25px" AutoPostBack="True">
                                                                <asp:ListItem Value="1">Escolha a opção onde se identifica</asp:ListItem>
                                                                <asp:ListItem Value="2">Ser portador(a) Diabetes tipo 1</asp:ListItem>
                                                                <asp:ListItem Value="3">Ser portador(a)  Diabetes tipo 2</asp:ListItem>
                                                                <asp:ListItem Value="4">Ser portador(a) outro tipo Diabetes</asp:ListItem>
                                                                <asp:ListItem Value="5">Ser portador(a) de Hipertensão Arterial</asp:ListItem>
                                                                <asp:ListItem Value="6">Ser portador(a) Diabetes e outra doença associada</asp:ListItem>
                                                                <asp:ListItem Value="7">Ser portador(a) de outra(s) doença(s)</asp:ListItem>
                                                                <asp:ListItem Value="8">Ser colaborador(a) ou voluntário(a)</asp:ListItem>
                                                                <asp:ListItem Value="9">Ser patrocinador(a) ou parceiro(a)</asp:ListItem>
                                                                <asp:ListItem Value="10">Ser profissional de saúde ou prestador de serviço</asp:ListItem>
                                                                <asp:ListItem Value="0"></asp:ListItem>
    </asp:DropDownList> 

    Imports System.Data.OleDb
    Imports System.Data.DataSet
    Imports System.Web.UI.WebControls

    Public Class cad_usuario_alt
        Inherits System.Web.UI.Page
        Dim con As New OleDbConnection
        Dim DataSet As New DataSet
        Dim retDATASET As DataSet = New DataSet

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                cargaDataset()
                desabilita()
                Session.Add("DS", DataSet)
            Else
                DataSet = Session.Item("DS")
            End If
        End Sub

        Private Sub cargaDataset()
            DataSet.Tables.Clear()
            retDATASET.ReadXml(Server.MapPath("output.xml"))

            rbl_sexo_alt.Items.Clear()
            rbl_sexo_alt.DataSource = retDATASET.Tables("TBSexo")
            rbl_sexo_alt.DataTextField = ("sexo")
            rbl_sexo_alt.DataValueField = ("id_sexo")
            rbl_sexo_alt.DataBind()

            ddl_interesse_alt.Items.Clear()
            ddl_interesse_alt.DataSource = retDATASET.Tables("TBInteresse")
            ddl_interesse_alt.DataTextField = ("interesse")
            ddl_interesse_alt.DataValueField = ("id_interesse")
            ddl_interesse_alt.DataBind()
            ddl_interesse_alt.Items.Insert(0, "")
            ddl_interesse_alt.SelectedIndex = 0

            ddl_uf_alt.Items.Clear()
            ddl_uf_alt.DataSource = retDATASET.Tables("TBuf")
            ddl_uf_alt.DataTextField = ("UFNOME")
            ddl_uf_alt.DataValueField = ("UFCOD")
            ddl_uf_alt.DataBind()
            ddl_uf_alt.Items.Insert(0, "")
            ddl_uf_alt.SelectedIndex = 0

            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0

            Dim Dadapter100 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter100.SelectCommand = New OleDbCommand("SELECT A.id_usu, A.nome, B.sexo, A.data_nasc, C.interesse, A.telefone, D.UFNOME, E.MUNNOME, A.email, A.usuario, A.senha FROM tb_cad_usuario A, tb_sexo B, tb_interesse C, tb_cad_uf D, tb_cad_mun E WHERE nome LIKE '%" + txt_pesquisa_alt.Text + "%' AND A.cod_sexo = B.id_sexo AND A.cod_interesse = C.id_interesse AND A.cod_uf = D.UFCOD AND A.cod_munic = E.MUNCOD ORDER BY id_usu DESC", New OleDbConnection(My.Settings.cs))
            Dadapter100.Fill(DataSet, "TBusuario")

        End Sub

        Private Sub limpa()
            txt_nome_alt.Text = ""
            rbl_sexo_alt.ClearSelection()
            txt_data_nasc_alt.Text = ""
            ddl_interesse_alt.SelectedIndex = 0
            txt_telefone_alt.Text = ""
            ddl_uf_alt.SelectedIndex = 0
            ddl_mun_alt.SelectedIndex = 0
            txt_email_alt.Text = ""
            Label1_alt.Text = ""
            Label2_alt.Text = ""
            lblCodUsu_alt.Text = ""
        End Sub
        Protected Sub ddl_uf_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddl_uf_alt.SelectedIndexChanged
            ddl_mun_alt.Enabled = True
            ddl_uf_alt.BackColor = Drawing.Color.White
            If IsPostBack Then
                ddl_mun_alt.Items.Clear()
                retDATASET.ReadXml(Server.MapPath("output.xml"))
                Dim ItemDataView As New DataView(retDATASET.Tables("TBmun"))
                ItemDataView.RowFilter = "UFCOD = " & ddl_uf_alt.SelectedItem.Value
                ddl_mun_alt.DataSource = ItemDataView
                ddl_mun_alt.DataTextField = ("MUNNOME")
                ddl_mun_alt.DataValueField = ("MUNCOD")
                ddl_mun_alt.DataBind()
                ddl_mun_alt.Items.Insert(0, "")
                ddl_mun_alt.SelectedIndex = 0
            End If
        End Sub

        Private Sub cargaMunicipio()
            ddl_mun_alt.Items.Clear()
            ddl_mun_alt.DataSource = retDATASET.Tables("TBmun")
            ddl_mun_alt.DataTextField = ("MUNNOME")
            ddl_mun_alt.DataValueField = ("MUNCOD")
            ddl_mun_alt.DataBind()
            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0
        End Sub

       
        Protected Sub btn_gravar_alt_Click(sender As Object, e As EventArgs) Handles btn_gravar_alt.Click
            If modoCad.Text = "A" Then
                If Me.IsValid() Then
                    alterar()
                    desabilita()
                    modoCad.Text = ""
                End If
            End If
            If modoCad.Text = "I" Then
                If Me.IsValid() Then
                    inserir()
                    desabilita()
                End If
            End If
            If modoCad.Text = "E" Then
                excluir()
                desabilita()
            End If
            modoCad.Text = "X"
        End Sub

        Protected Sub btn_pesquisa_alt_Click(sender As Object, e As EventArgs) Handles btn_pesquisa_alt.Click
            gvw_usuario_alt.DataSource = DataSet.Tables("TBusuario")
            gvw_usuario_alt.DataBind()
            modoCad.Text = ""
            Label2_alt.Text = ""
        End Sub

        Protected Sub gvw_usuario_alt_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvw_usuario_alt.RowDataBound
            If e.Row.RowType = DataControlRowType.Header Then
                e.Row.Cells(1).Text = "id_usu"
                e.Row.Cells(2).Text = "Nome"
                e.Row.Cells(3).Text = "Sexo"
                e.Row.Cells(4).Text = "Data Nasc"
                e.Row.Cells(5).Text = "Interesse"
                e.Row.Cells(6).Text = "Telefone"
                e.Row.Cells(7).Text = "UF"
                e.Row.Cells(8).Text = "Município"
                e.Row.Cells(9).Text = "Email"
                e.Row.Cells(10).Text = "Usuário"
                e.Row.Cells(11).Text = "Senha"
            End If
            If e.Row.RowType = DataControlRowType.DataRow Then
                e.Row.Cells(0).Visible = True
                e.Row.Cells(1).Visible = True
                e.Row.Cells(2).Visible = True
                e.Row.Cells(3).Visible = True
                e.Row.Cells(4).Visible = True
                e.Row.Cells(5).Visible = True
                e.Row.Cells(6).Visible = True
                e.Row.Cells(7).Visible = True
                e.Row.Cells(8).Visible = True
                e.Row.Cells(9).Visible = True
                e.Row.Cells(10).Visible = True
                e.Row.Cells(11).Visible = True
            End If
        End Sub


        Protected Sub gvw_usuario_alt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvw_usuario_alt.SelectedIndexChanged
            cargaMunicipio()
            limpa()
            btn_inserir_alt.Enabled = False
            btn_alterar_alt.Enabled = True
            btn_excluir_alt.Enabled = True
            btn_cancelar_alt.Enabled = True

            lblCodUsu_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(1).Text)
            txt_nome_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(2).Text)
            If gvw_usuario_alt.SelectedRow.Cells(3).Text = "" Then
                rbl_sexo_alt.ClearSelection()
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Masc" Then
                rbl_sexo_alt.SelectedValue = 1
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Fem" Then
                rbl_sexo_alt.SelectedValue = 2
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Ign" Then
                rbl_sexo_alt.SelectedValue = 3
            End If
            txt_data_nasc_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(4).Text)
            ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)
            txt_telefone_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(6).Text)
            ddl_uf_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(7).Text)
            ddl_mun_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(8).Text)
            txt_email_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(9).Text)
            txt_usuario_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(10).Text)
            txt_senha_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(11).Text)
            Label1_alt.Text = ""
            Label2_alt.Text = ""
        End Sub
    Será que pode ser o conteúdo do campo interesse "Ser colaborador(a) ou voluntário(a)" que contem ()? 
    segunda-feira, 25 de março de 2013 19:50
  • Abaixo um trecho do código VB da página que retorna com o título do post no comando "ddl_interesse_alt".

    No Load da página eu faço o carregamento do ddl_interesse_alt.

    Fazendo Break point a mensagem aparece na linha" ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)". 

    O que estou tentando é carregar os campos do formulário com gvw_usuario_alt_SelectedIndexChanged.

    <asp:DropDownList ID="ddl_interesse_alt" runat="server" 
                                                                Width="207px" BackColor="White" Height="25px" AutoPostBack="True">
                                                                <asp:ListItem Value="1">Escolha a opção onde se identifica</asp:ListItem>
                                                                <asp:ListItem Value="2">Ser portador(a) Diabetes tipo 1</asp:ListItem>
                                                                <asp:ListItem Value="3">Ser portador(a)  Diabetes tipo 2</asp:ListItem>
                                                                <asp:ListItem Value="4">Ser portador(a) outro tipo Diabetes</asp:ListItem>
                                                                <asp:ListItem Value="5">Ser portador(a) de Hipertensão Arterial</asp:ListItem>
                                                                <asp:ListItem Value="6">Ser portador(a) Diabetes e outra doença associada</asp:ListItem>
                                                                <asp:ListItem Value="7">Ser portador(a) de outra(s) doença(s)</asp:ListItem>
                                                                <asp:ListItem Value="8">Ser colaborador(a) ou voluntário(a)</asp:ListItem>
                                                                <asp:ListItem Value="9">Ser patrocinador(a) ou parceiro(a)</asp:ListItem>
                                                                <asp:ListItem Value="10">Ser profissional de saúde ou prestador de serviço</asp:ListItem>
                                                                <asp:ListItem Value="0"></asp:ListItem>
    </asp:DropDownList> 

    Imports System.Data.OleDb
    Imports System.Data.DataSet
    Imports System.Web.UI.WebControls

    Public Class cad_usuario_alt
        Inherits System.Web.UI.Page
        Dim con As New OleDbConnection
        Dim DataSet As New DataSet
        Dim retDATASET As DataSet = New DataSet

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                cargaDataset()
                desabilita()
                Session.Add("DS", DataSet)
            Else
                DataSet = Session.Item("DS")
            End If
        End Sub

        Private Sub cargaDataset()
            DataSet.Tables.Clear()
            retDATASET.ReadXml(Server.MapPath("output.xml"))

            rbl_sexo_alt.Items.Clear()
            rbl_sexo_alt.DataSource = retDATASET.Tables("TBSexo")
            rbl_sexo_alt.DataTextField = ("sexo")
            rbl_sexo_alt.DataValueField = ("id_sexo")
            rbl_sexo_alt.DataBind()

            ddl_interesse_alt.Items.Clear()
            ddl_interesse_alt.DataSource = retDATASET.Tables("TBInteresse")
            ddl_interesse_alt.DataTextField = ("interesse")
            ddl_interesse_alt.DataValueField = ("id_interesse")
            ddl_interesse_alt.DataBind()
            ddl_interesse_alt.Items.Insert(0, "")
            ddl_interesse_alt.SelectedIndex = 0

            ddl_uf_alt.Items.Clear()
            ddl_uf_alt.DataSource = retDATASET.Tables("TBuf")
            ddl_uf_alt.DataTextField = ("UFNOME")
            ddl_uf_alt.DataValueField = ("UFCOD")
            ddl_uf_alt.DataBind()
            ddl_uf_alt.Items.Insert(0, "")
            ddl_uf_alt.SelectedIndex = 0

            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0

            Dim Dadapter100 As OleDbDataAdapter = New OleDbDataAdapter
            Dadapter100.SelectCommand = New OleDbCommand("SELECT A.id_usu, A.nome, B.sexo, A.data_nasc, C.interesse, A.telefone, D.UFNOME, E.MUNNOME, A.email, A.usuario, A.senha FROM tb_cad_usuario A, tb_sexo B, tb_interesse C, tb_cad_uf D, tb_cad_mun E WHERE nome LIKE '%" + txt_pesquisa_alt.Text + "%' AND A.cod_sexo = B.id_sexo AND A.cod_interesse = C.id_interesse AND A.cod_uf = D.UFCOD AND A.cod_munic = E.MUNCOD ORDER BY id_usu DESC", New OleDbConnection(My.Settings.cs))
            Dadapter100.Fill(DataSet, "TBusuario")

        End Sub

        Private Sub limpa()
            txt_nome_alt.Text = ""
            rbl_sexo_alt.ClearSelection()
            txt_data_nasc_alt.Text = ""
            ddl_interesse_alt.SelectedIndex = 0
            txt_telefone_alt.Text = ""
            ddl_uf_alt.SelectedIndex = 0
            ddl_mun_alt.SelectedIndex = 0
            txt_email_alt.Text = ""
            Label1_alt.Text = ""
            Label2_alt.Text = ""
            lblCodUsu_alt.Text = ""
        End Sub
        Protected Sub ddl_uf_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddl_uf_alt.SelectedIndexChanged
            ddl_mun_alt.Enabled = True
            ddl_uf_alt.BackColor = Drawing.Color.White
            If IsPostBack Then
                ddl_mun_alt.Items.Clear()
                retDATASET.ReadXml(Server.MapPath("output.xml"))
                Dim ItemDataView As New DataView(retDATASET.Tables("TBmun"))
                ItemDataView.RowFilter = "UFCOD = " & ddl_uf_alt.SelectedItem.Value
                ddl_mun_alt.DataSource = ItemDataView
                ddl_mun_alt.DataTextField = ("MUNNOME")
                ddl_mun_alt.DataValueField = ("MUNCOD")
                ddl_mun_alt.DataBind()
                ddl_mun_alt.Items.Insert(0, "")
                ddl_mun_alt.SelectedIndex = 0
            End If
        End Sub

        Private Sub cargaMunicipio()
            ddl_mun_alt.Items.Clear()
            ddl_mun_alt.DataSource = retDATASET.Tables("TBmun")
            ddl_mun_alt.DataTextField = ("MUNNOME")
            ddl_mun_alt.DataValueField = ("MUNCOD")
            ddl_mun_alt.DataBind()
            ddl_mun_alt.Items.Insert(0, "")
            ddl_mun_alt.SelectedIndex = 0
        End Sub

       
        Protected Sub btn_gravar_alt_Click(sender As Object, e As EventArgs) Handles btn_gravar_alt.Click
            If modoCad.Text = "A" Then
                If Me.IsValid() Then
                    alterar()
                    desabilita()
                    modoCad.Text = ""
                End If
            End If
            If modoCad.Text = "I" Then
                If Me.IsValid() Then
                    inserir()
                    desabilita()
                End If
            End If
            If modoCad.Text = "E" Then
                excluir()
                desabilita()
            End If
            modoCad.Text = "X"
        End Sub

        Protected Sub btn_pesquisa_alt_Click(sender As Object, e As EventArgs) Handles btn_pesquisa_alt.Click
            gvw_usuario_alt.DataSource = DataSet.Tables("TBusuario")
            gvw_usuario_alt.DataBind()
            modoCad.Text = ""
            Label2_alt.Text = ""
        End Sub

        Protected Sub gvw_usuario_alt_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvw_usuario_alt.RowDataBound
            If e.Row.RowType = DataControlRowType.Header Then
                e.Row.Cells(1).Text = "id_usu"
                e.Row.Cells(2).Text = "Nome"
                e.Row.Cells(3).Text = "Sexo"
                e.Row.Cells(4).Text = "Data Nasc"
                e.Row.Cells(5).Text = "Interesse"
                e.Row.Cells(6).Text = "Telefone"
                e.Row.Cells(7).Text = "UF"
                e.Row.Cells(8).Text = "Município"
                e.Row.Cells(9).Text = "Email"
                e.Row.Cells(10).Text = "Usuário"
                e.Row.Cells(11).Text = "Senha"
            End If
            If e.Row.RowType = DataControlRowType.DataRow Then
                e.Row.Cells(0).Visible = True
                e.Row.Cells(1).Visible = True
                e.Row.Cells(2).Visible = True
                e.Row.Cells(3).Visible = True
                e.Row.Cells(4).Visible = True
                e.Row.Cells(5).Visible = True
                e.Row.Cells(6).Visible = True
                e.Row.Cells(7).Visible = True
                e.Row.Cells(8).Visible = True
                e.Row.Cells(9).Visible = True
                e.Row.Cells(10).Visible = True
                e.Row.Cells(11).Visible = True
            End If
        End Sub


        Protected Sub gvw_usuario_alt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvw_usuario_alt.SelectedIndexChanged
            cargaMunicipio()
            limpa()
            btn_inserir_alt.Enabled = False
            btn_alterar_alt.Enabled = True
            btn_excluir_alt.Enabled = True
            btn_cancelar_alt.Enabled = True

            lblCodUsu_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(1).Text)
            txt_nome_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(2).Text)
            If gvw_usuario_alt.SelectedRow.Cells(3).Text = "" Then
                rbl_sexo_alt.ClearSelection()
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Masc" Then
                rbl_sexo_alt.SelectedValue = 1
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Fem" Then
                rbl_sexo_alt.SelectedValue = 2
            ElseIf gvw_usuario_alt.SelectedRow.Cells(3).Text = "Ign" Then
                rbl_sexo_alt.SelectedValue = 3
            End If
            txt_data_nasc_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(4).Text)
            ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text)
            txt_telefone_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(6).Text)
            ddl_uf_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(7).Text)
            ddl_mun_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(8).Text)
            txt_email_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(9).Text)
            txt_usuario_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(10).Text)
            txt_senha_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(11).Text)
            Label1_alt.Text = ""
            Label2_alt.Text = ""
        End Sub

    Será que pode ser o conteúdo do campo interesse "Ser colaborador(a) ou voluntário(a)" que contem ()? 

    No breakPoint na linha"   ddl_interesse_alt.Text = HttpUtility.HtmlDecode(gvw_usuario_alt.SelectedRow.Cells(5).Text) "


    aparece o conteúdo "Ser colaborador(a) ou voluntário(a)" no "Text"

    do gvw_usuario_alt.SelectedRow.Cells(5).Text

    porém no Text do ddl_interesse_alt.Text aparece " " vazio.


    segunda-feira, 25 de março de 2013 19:56
  • Resolvido mudando o código html, mas não entendi por que, se eu tenho o no carregamento do Drop "DataTextField = ("interesse")" "DataValueField = ("id_interesse")", pois gostaria de carregar o Grid com campo interesse e não cod_interesse, alguém poderia explicar?

    <asp:BoundField DataField="nome" HeaderText="Nome"/>
    <asp:BoundField DataField="sexo" HeaderText="Sexo"/>
    <asp:BoundField DataField="data_nasc" HeaderText="Data Nasc" />
    <asp:BoundField DataField="cod_interesse" HeaderText="Interesse"/>
    <asp:BoundField DataField="telefone" HeaderText="Telefone"/>
    <asp:BoundField DataField="cod_uf" HeaderText="UF"/>
    <asp:BoundField DataField="cod_munic" HeaderText="Munic"/>
    <asp:BoundField DataField="email" HeaderText="Email"/>
    <asp:BoundField DataField="usuario" HeaderText="Usuário"/>
    <asp:BoundField DataField="senha" HeaderText="Senha"/>

    terça-feira, 26 de março de 2013 14:46
  • Boris no seu cargadataset() vc já esta setado o valor para o dropdownlist e esse valor não deve existir

    ddl_interesse_alt.SelectedIndex = 0


    Junior

    terça-feira, 26 de março de 2013 18:00
  • Grande Junior, obrigado pelo retorno.

    De fato, mas por outro lado eu estou fazendo um insert  ddl_interesse_alt.Items.Insert(0, "").

    O que este insert está ajudando no desfecho?

    Qual seria a melhor solução em uma opção vazia? 

    quarta-feira, 27 de março de 2013 12:58
  • eu faço sempre assim qdo quero obrigar o usuário a selecionar um item no dropdownlist, clique na opção desing e selecione o dropdownlist e clique em propriedades nas opções coloque true em AppenddataBoundItem e vá em itens(collections) e adicione o item colocar o valor para 0.

    Junior

    quarta-feira, 27 de março de 2013 13:18
  • eu faço sempre assim qdo quero obrigar o usuário a selecionar um item no dropdownlist, clique na opção desing e selecione o dropdownlist e clique em propriedades nas opções coloque true em AppenddataBoundItem e vá em itens(collections) e adicione o item colocar o valor para 0.

    Junior

    Valeu amigão.
    • Marcado como Resposta Boris Wilson quarta-feira, 27 de março de 2013 14:05
    quarta-feira, 27 de março de 2013 14:05