COMBOBOX ITENS IDENTIFICADOS

LUIS.HERRERA 23/09/2013 10:57:37
#429156
Bom dia.
Todos os meus combos tem nas respectivas tabelas dos itens o campo Situação (Ativo=0 ou Inativo=1).

O problema é que em todos os cadastros que usam estes combos como parte de seus dados, ao incluir um novo registro, os combos deveriam trazer apenas itens Ativos (pois não se pode incluir um dado inativo). O detalhe é que na consulta, pode existir um registro (antigo ou não) que tenha algum dado inativado. Com isso ao associar o índice deste dado no combo, ele não existiria e o combo ficaria vazio (ou geraria erro se não tratado).

Em alguns cadastros eu consigo na hora de clicar no botão Incluir (liberar campos para inclusão), povoar os cambos somente com seus itens ativos, e ao salvar ou cancelar povoo novamente com todos para ficarem disponíveis na consulta e assim ver o item cadastrado nele em determinado registro.

Porém existem cadastros que isso fica complicado, pois o clique no botão incluir primeiro checa se alguns combos foram selecionado, pois é preciso ter um item para permitir inclusão ex: Cadastro de Colaboradores, onde primeiro especifico a Empresa, Depois o Departamento e então se ambos foram informados libero os campos para digitação e inclusão. Mas nesse caso a lista do combo departamento exibirá todos os departamentos (ativos e inativos) o que não é o ideal.

Pergunta: Existe alguma forma de identificar certos itens numa combo com cor vermelha (inativos) ou ocultá-los da lista facilmente e depois reexibir?
SABIDAOXD 18/11/2013 09:31:03
#431217
vc pode criar outra combobox e passar para ela somente os itens ativos

vamos chamar combo1 a que esta com todos os item e combo2 as que tem que estar somente com os ativos
não lembro o tratamento dos itens da combobox mas segue a lógica

Citação:


private void writeGreen()
{
combo2.clear();
foreach (*item* in combo1.*itens*)
{
if (item.BackGroundColor == Color.Green){
combo2.item.add(item);
}
}

}


LUIS.HERRERA 18/11/2013 14:02:19
#431226
Obrigado pela resposta, mas não é isso. Se fosse pra trabalhar com duas combos para cada tabela (e são várias combos em alguns cadastros até 20) então o melhor seria popular cada uma direto com o select correto e não fazer um loop como sugeriu.

O que estava procurando era uma alternativa mais pratica de ter uma opção no Combo para usar 3 campos da tabela e não só 2, onde o terceiro seria se o item é ativo ou não. Tendo essa opção poderia configurar o combo para exibir só ativos ou todos e assim, em função da ação no form, mudava a configuração do combo.

Porém acho que isso não existe, e até tinha esquecido deste post. Com isso acabei implementando uma única combo para cada tabela, e conforme a ação do form eu populo (todos ou só ativos). Dá bastante trabalho fazer isso para cada combo e ação em cada form, mas foi o caminho que encontrei mesmo.

Tópico encerrado , respostas não são mais permitidas