我有一个名为treeview1的treeview,在form1中有几个子节点,每个节点都有一个复选框。我得到了选中的节点,并在表中将其选中的值保存为true,而未选中的值保存在数据库中。我需要通过在form2中名为treeview2的另一个treeview中填充检查值来将其更改为true或false。
我的树视图看起来像这样
为此,我必须在form2中的另一个TreeView2中修改那些检查的值。在这里,我需要获取节点名称并从数据库中设置True或False,然后在选中的Treeview2节点中进行填充。
注意:我已在数据库中将Checked节点保存为True和Unchecked为False。因此,我必须通过填充Form2中的treeView2再次对其进行修改。我只需要一种方法来检查Node.Text并从数据库设置为选中状态。
这里是收集列表中所有节点名称的代码
private IEnumerable<TreeNode> ModifyGetUNNodes(string NodeName, bool nodeVale) { var checkUnNodes = new List<TreeNode>(); GetUnNodes(checkUnNodes, ModifyTreeView.Nodes, NodeName, nodeVale); return checkUnNodes; } // Return a list of the TreeNodes that are checked. private static void GetNodes(ICollection<TreeNode> checkedNodes, IEnumerable nodes) { foreach (TreeNode node in nodes) { checkedNodes.Add(node); // Check the node's descendants. GetNodes(checkedNodes, node.Nodes); } }
从上面的代码中,我得到了节点的所有名称。在这里,我需要检查名称并设置检查数据的正确或错误
var allNodes = ModifyGetNodes(); var allNodeList = allNodes.Select(node => node.Text).ToList();
形成此检查节点文本
if(node.Text == "Bread") node.checked = y.Bread
这里y.Bread为值true。
if(node.Text =="Chips") node.checked =y.Chips
这里y.Chips为值false。
有些类似的操作,我必须在form2的treeview2中检查名称并设置检查值
当我加载Form2时,我必须通过获取数据表单数据库来检查节点
[注意:我在Node Bread中将Node Bread Checked设置为true,并且将Wine取消选中,因此将在Wine列中另存为(False)。
我有一个名为treeview1的treeview,在form1中有几个子节点,每个节点都有一个复选框。我得到了选中的节点,并在表中将其选中的值保存为true,而未选中的值保存在数据库中。 i ...
这里是我得到答案的代码