递归处理
//这里是部分展开
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();
}
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器