C# combobox - tornar não editavel - Banco de dados + items

4 respostas Resolvido
c
A

Boa noite pessoal,
Estou preenchendo meu combobox com dados de uma determinada tabela (estados):
SP
MG
RJ,etc

Gostaria de alem desses dados da janela, aparecesse em cima “TODOS”, e a combobox fosse travada (não editavel) para digitar algo nela, vi que isso resolve:
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
Porém, a palavra “TODOS” que adicionei em “ITEMS” é substituida pelas informacoes da tabela de dados ,teria como deixar ambas, ou seja, “TODOS” + o que vem da tabela de dados e a mesma não editavel?

4 Respostas

J

Como está sendo preenchida a combo com os dados do banco? Coloca o código.

A
segue:

public DataTable preencheCBClass()

{

DataTable dt = new DataTable();

try

{

bd.conectar();

string stringSql = "SELECT codigo, nome FROM classificacao where situacao = ‘A’  ORDER BY nome; ";
dt = bd.retornarDataTable(stringSql);
            
        }
        catch (Exception ex)
        {
            throw new Exception("Erro ao tentar listar as classificacoes! " + ex.Message);
        }
        finally
        {
            bd.desconectar();
        }
        return dt;
    }
J
Solucao aceita

Após preencher o datatable com os dados do banco, você pode inserir qualquer linha nele:

dt = bd.retornarDataTable(stringSql);

DataRow dr = dt.NewRow();
dr["codigo"] = 0; //se for int
dr["nome"] = "(TODOS)";
dt.Rows.InsertAt(dr, 0);

Pra ComboBox não ficar editável, muda a propriedade DropDownStyle pra DropDownList.

A

Obrigado Javaflex perfeito!

Criado 9 de setembro de 2020
Ultima resposta 10 de set. de 2020
Respostas 4
Participantes 2