Exemplo n.º 1
0
        /// <summary>
        /// 启用项
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bbiChangeStat_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            List <ContractBoiNode> lstDeleteNode;
            List <TreeListNode>    lstNode    = tlDetail.GetAllCheckedNodes();
            List <ContractBoiNode> lstBoiNode = lstNode.ConvertAll <ContractBoiNode>(m => tlDetail.GetDataRecordByNode(m) as ContractBoiNode);

            if (lstBoiNode.Count == 0)
            {
                XtraMessageBox.Show("请选中项!");
                return;
            }
            if (!lstBoiNode.Exists(m => m.StatId == 0))
            {
                XtraMessageBox.Show("没有禁用项!", "提示");
                return;
            }
            else
            {
                if (XtraMessageBox.Show("是否启用项?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                {
                    return;
                }
            }
            lstDeleteNode = lstBoiNode.FindAll(m => !lstBoiNode.Exists(n => n.Children.Contains(m)));
            lstDeleteNode.ForEach(m =>
            {
                if (m.StatId == 0)
                {
                    viewModel.DeleteNode(m);
                    viewModel.ChangeNodeStat(m, true);
                }
            });
        }