Bom dia , 

Estou com um problema ao carregar uma combobox com dados do banco ;

vou descrever com o máximo de detalhes , 

tenho uma combobox (CATEGORIA) e uma outra (SUBCATEGORIA) , no evento load do form estou carregando a primeira combobox normalmente , porém preciso carregar ao outra combox (subcategoria) dinamicamente de acordo com a escolha dos itens da  primeira combobox(categoria), deste modo preciso pegar a chave primaria da categoria para chamar meu método que carrega a cmb subcategoria que recebe como parâmetro o código da categoria para fazer o filtro ,

meu evento LOAD 

combocat.DataSource = cat.Listar();
combocat.DisplayMember = "Nomecategoria";
combocat.ValueMember = "Codigo";

Meu método que carrega as informações na segunda combo

private void CarregarComboBox()
{
comboSubcat.DataSource = subca.PesquisarPorCategoria(Convert.ToInt32(combocat.SelectedValue));
comboSubcat.DisplayMember = "NomeSubcat";
comboSubcat.ValueMember = "Codigo";
}

Evento utilizado para chamar o metodo

private void combocat_SelectedIndexChanged(object sender, EventArgs e)
{
CarregarComboBox();
}

O erro esta acontecendo ao carregar a tela (algo relacionado a conversao de dados )porém testei meu método em outro evento e funcionou corretamente.

segue o erro apresentado:

An exception of type 'System.InvalidCastException' occurred in mscorlib.dll but was not handled in user code

Additional information: Unable to cast object of type 'Entidades.CategoriaE' to type 'System.IConvertible'.

Exibições: 34

Respostas a este tópico

Cara acredito que isso aconteça pelo fato de que quando o método CarregarComboBox() é chamado pelo selectedIndexChangend o primeiro combo não está totalmente setado, chama esse metodo de alguma outra forma, como em um botão por exemplo e voce vai ver que o erro não acontece, ou então coloca um try catch no seletedIndexchanged sem nenhum codigo no catch, ele vai ignorar o erro e vai continuar executando e vê o que dá

RSS

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço