none
Habilitar um ComboBox RRS feed

  • Pergunta

  • Estou com problema no meu ComboBox abaixo:

    <ajaxToolkit:ComboBox ID="DropDownListCODCLASSEP" runat="server"

                Width="60px" DataTextField="CODIGO" AutoCompleteMode="SuggestAppend" CssClass="WindowsStyle" CaseSensitive="false"

                DataValueField="CODIGO" DataSourceID="SqlDataSourceCODCLASSEP" SelectedValue='<%# Bind("CODCLASSEP") %>'     

                onselectedindexchanged="DropDownListCODCLASSEP_SelectedIndexChanged"

                AutoPostBack="true" >

                </ajaxToolkit:ComboBox>

                <asp:SqlDataSource ID="SqlDataSourceCODCLASSEP" runat="server"

                ConnectionString="<%$ ConnectionStrings:connectionString %>"

                SelectCommand="SELECT [CODIGO] FROM [CLASSEPTUBULACAO] ORDER BY [CODIGO]">

                </asp:SqlDataSource>

    Repare que ele pega dados de uma tabela e vem habilitado.

    Porem eu preciso que quando entre em modo Insert do FormView ele fique desabilitado ate que o usuario digite um numero correto e apos isso habilite esse controle.

    Então eu coloquei o codigo no meu formView para desabilitar esse controle conforme abaixo:

    if (FormView1.CurrentMode == FormViewMode.Insert)

    {

          DropDownListCODCLASSEP.Enabled = false;

    }

    A função acima desabilita meu controle.

    E quando o usuario digita o valor correto eu habilito esse controle porem a função abaixo deixa de funcionar:

    protected void DropDownListCODCLASSEP_SelectedIndexChanged(object sender, EventArgs e)

            {

                string _connectionString = WebConfigurationManager.ConnectionStrings["CONNECTIONSTRING"].ConnectionString;

                TextBox DESCCLASSEPTextBox = (TextBox)FormView1.FindControl("DESCCLASSEPTextBox");

                AjaxControlToolkit.ComboBox DropDownListCODCLASSEP = (AjaxControlToolkit.ComboBox)FormView1.FindControl("DropDownListCODCLASSEP");

                string _strSQL03 = "SELECT * FROM CLASSEPTUBULACAO WHERE CODIGO = '" + DropDownListCODCLASSEP.Text + "'";

                SqlConnection con03 = new SqlConnection(_connectionString);

                SqlCommand cmd03 = new SqlCommand(_strSQL03, con03);

                cmd03.CommandType = CommandType.Text;

                using (con03)

                {

                    con03.Open();

                    SqlDataReader dr03 = cmd03.ExecuteReader();

                    if (dr03.Read())

                    {

                        DESCCLASSEPTextBox.Text = (string)dr03["DESCRICAO"];

                    }

                    else

                    {

                        DESCCLASSEPTextBox.Text = "";

                    }

                    dr03.Close();

                    con03.Close();

                   

                   

                   

                   

                }

            }

    Eu fiquei o dia todo tentando entender esse controle. Coloquei de todas as formas mas não da certo. Engraçado que quando eu inicio o controle habilitado a funçãoa acima funciona. Mas e so colocar para ele iniiciar desabilitado que ele não volta mais a funcinar..muito estranho...

    Se alguem puder me ajudar eu agradeço muito...

    Fico no aguardo.

    Obrigado.

    quarta-feira, 12 de junho de 2013 18:37

Todas as Respostas

  • Alguem pra ajudar nosso amigo?

    Att, Felipo Gonçalves | Microsoft Contingent Staff

    sexta-feira, 14 de junho de 2013 18:06
  • Paulo,

    é o seguinte, no seu código você não explicita em qual momento o DropDownList deve voltar a ser habilitado. e.g.

    vamos supor que o valor do seu DDL seja 2, então você deve avisar que no retorno deste valor o DDL deve ficar habilitado.......

    if(ddl.select.value == "2")

    {ddl.enable = true;}

    sacou!


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 14 de junho de 2013 18:34