遞歸處理


//這里是部分展開
        private void SetPositon(TreeViewItem treeNodeSelected, ItemCollection items)
        {
            if (treeNodeSelected != null)
            {
                View vSelected = treeNodeSelected.Tag as View;
                if (vSelected != null)
                {
                    foreach (TreeViewItem item in items)
                    {
                        if (item != null)
                        {
                            View vTmp = item.Tag as View;
                            if (vTmp != null)
                            {
                                if (vTmp.Value(0, "zj").ToString() == vSelected.Value(0, "zj").ToString())
                                {
                                    //選中匹配項
                                    item.IsSelected = true;
                                    ZLLX_SelectedItemChanged(ZLLX, null);//調用該方法,使檢索發生
                                    //找到后,往回展開
                                    BackExpanded(item);
                                    break;
                                }
                                else
                                {
                                    if (item.Items.Count > 0)
                                    {
                                        SetPositon(treeNodeSelected, item.Items);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        //往回展開
        private void BackExpanded(TreeViewItem item)
        {
            if (item.Parent.GetType() == typeof(TreeViewItem))//說明是根節點
            {
                (item.Parent as TreeViewItem).IsExpanded = true;
                BackExpanded(item.Parent as TreeViewItem);
            }
        }

        //雙擊資料記錄,查看和下載資料
        private void ZLK_DoubleClick(object sender, DataGridRowClickedArgs e)
        {
            TreeViewItem treeNode = ZLLX.SelectedItem as TreeViewItem;
            if (treeNode != null)
            {
                XZ xz = treeNode.Header as XZ;
                if (xz != null)
                {
                    //圖像
                    ImageSource imgSource = xz.ImageSource;
                    //資料信息
                    View vZLK = ZLK.DataSource as View;
                    if (vZLK != null)
                        if (vZLK.Rows.Count > 0)
                        {
                            Row row = ZLK.DataGrid.SelectedItem as Row;
                            if (row != null)
                            {
                                View vTmp = viewZL.CopyStructure();
                                vTmp.Rows.Add(row);
                                ZLCK card = new ZLCK(vTmp, imgSource);
                                card.Show();
                            }
                        }
                }
            }
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM