He creado una vista de árbol con los padres yChildnodes creados dinámicamente. También se ha habilitado la propiedad de la casilla de verificación true.hence tiene casillas de verificación para cada nodo. El problema es cómo asignar un nombre a estas casillas de verificación para que, para un usuario en particular, si el valor es verdadero, la casilla de verificación se debe marcar; de lo contrario, si el valor es falso, la casilla de verificación debe estar desactivada. el valor verdadero o falso se almacena en una columna particular en una base de datos.
Respuestas
0 para la respuesta № 1Siga el código que le proporcioné y podría darle una idea de lo que entiendo de su pregunta. También le proporcioné el enlace. http://msdn.microsoft.com/en-us/library/wwc698z7(v=vs.90).aspx
private void PrintRecursive(TreeNode treeNode)
{
// Print the node.
System.Diagnostics.Debug.WriteLine(treeNode.Text);
MessageBox.Show(treeNode.Text);
// Print each node recursively.
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
// Call the procedure using the TreeView.
private void CallRecursive(TreeView treeView)
{
// Print each node recursively.
TreeNodeCollection nodes = treeView.Nodes;
foreach (TreeNode n in nodes)
{
PrintRecursive(n);
}
}
0 para la respuesta № 2
Puede comprobar qué nodo se comprueba con el siguiente código
foreach (TreeNode node in yourtreeview.Nodes)
{
if (node.Checked)
{ //here You can check here your parent nodes is checked or not
//your calculations
}
foreach (TreeNode ChildNode in node.Nodes)
{
if (ChildNode.Checked)
{ // here you can check your 2nd level nodes
}
foreach (TreeNode childofChild in ChildNode.Nodes)
{
if (childofChild.Checked)
{ here you can check your 3rd level node }
foreach (TreeNode GrandChildofChild in childofChild.Nodes)
{
if (GrandChildofChild.Checked)
{
//here you can check your fourth level node
}
}
}
}
}