TREELIST QUESTAO CHATA

NALDOXD 02/04/2012 12:17:55
#398926
Bom dia meu amigos!!!!
Eu tenho uma questão simples, porem chatinha... vou tentar explicar o que estou querendo fazer para vocês... Vamos denominar rapidamente os registros do meu treelist como registros pais e registros filhos...

> Em cada registro ou linhas temos os seguintes dados (CODIGOREGISTRO, NOMEREGISTRO, CODIGOSUPERIOR);
> Se um registro é PAI o CODIGOSUPERIOR dele vem 0, e se for um registro FILHO o CODIGOSUPERIOR dele recebe o CODIGOREGISTRO;

Eu quero o seguinte...

> Quando um registro (PAI OU FILHO) for selecionado eu gostaria que ele verifica-se o CODIGOSUPERIOR (CODIGO DO PAI) caso ele seja 0 sinal que nosso registro é uma pai e pode marcar normalmente, mas, caso o CODIGOSUPERIOR tenha algum registro do pai eu gostária que ele verifica-se se o REGISTRO pai está marcado ou não... Entenderam???

+- assim:

Eu marquei/selecionei um registro filho que o CODIGOSUPERIOR (CODIGO DO PAI) seja 1

if (treeList1.Nodes[1].Checked == true)
{
MINHAS FUNÇÕES...
}
else
MessageBox.Show([Ô]O registro pai não está marcado[Ô]);]


Quaqluer coisa só perguntar que eu respondo!!! Abraços..
TECLA 02/04/2012 20:29:51
#398973
Resposta escolhida
Veja se é isso que precisa.

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Node.Checked)
if (e.Node.Parent != null)
if (!e.Node.Parent.Checked)
MessageBox.Show([Ô]Selecione o nó pai[Ô]);
}
NALDOXD 03/04/2012 09:01:09
#398991
Deu erro aqui, pois uso componentes de uma empresa chamada DevExpress e estou usando TreeList deles..

Tecla, funcionou uns 90% o código ficou da seguinte forma..

private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
if (e.Node.Checked)
if (e.Node.ParentNode != null)
if (!e.Node.ParentNode.Checked)
MessageBox.Show([Ô]Selecione o nó pai[Ô]);
}


O único defeito é que ele só funciona quando aperta na linha quando o usuário aperta no check box da linha ele não faz a verificação teria como resolver isso?
Tópico encerrado , respostas não são mais permitidas