c# 获取treeList中checkedBox的勾选的文本数据

前景提要:已在treeList1中设置树形勾选框并勾选
目标:要获取所勾选节点中名为“时间”的数据
private void getChecked()
        {
            //我们首先遍历了treeList的根节点,并检查每个节点的勾选状态。
            //如果节点被勾选,我们将其添加到checkedNodes列表中。
            //然后,我们使用递归函数GetCheckedNodes来遍历每个节点的子节点,并重复相同的操作。
            List<TreeListNode> checkedNodes = new List<TreeListNode>();
            List<string> checkedString = new List<string>();//之后遍历checkedNodes去进行转化

            foreach (TreeListNode node in treeList1.Nodes)
            {
                if (node.CheckState == CheckState.Checked)
                {
                    checkedNodes.Add(node);
                }

                GetCheckedNodes(node, checkedNodes);
            }
            //测试不用输出直接加断点看就行了
            //遍历checkedNodes去进行转化
            foreach (TreeListNode node in checkedNodes)
            {
                //用这种方式获取节点为object之后转成它原本的数据源数据类型
                BackupFileItem2 checkedItemList = treeList1.GetDataRecordByNode(node) as BackupFileItem2;

                checkedString.Add(checkedItemList.时间);
            }
        }
        void GetCheckedNodes(TreeListNode parentNode, List<TreeListNode> checkedNodes)
        {
            foreach (TreeListNode node in parentNode.Nodes)
            {
                if (node.CheckState == CheckState.Checked)
                {
                    checkedNodes.Add(node);
                }

                GetCheckedNodes(node, checkedNodes);
            }
        }
细节1.找as后面的转化类型
BackupFileItem2 checkedItemList = treeList1.GetDataRecordByNode(node) as BackupFileItem2;

在绑定的数据源处找as后面的转化类型:

所以node是列表里面的每一个内容,类型为BackupFileItem2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值