C#datagirdview显示treeview节点属性问题

MUF420 2016-05-05 02:38:46
我的treeview节点的属性很长,例如,名字:长方体,长:20,宽:30,高40。我想点击当前treeview的节点,将该节点下的属性值显示在datagridview中,显示成4行两列,第一列为名字,长,宽,高。第二列,显示长方体,20,30,40.和前面一一对应。请问我该怎么编写?
...全文
203 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
MUF420 2016-05-05
  • 打赏
  • 举报
回复

抱歉图二发错了
MUF420 2016-05-05
  • 打赏
  • 举报
回复

这个是我编写的treeview读取XML文件,您看里面每一项后面的括号里都是属性,有的属性很多,有的很少。每一子节点后面的属性都不一样,比如Axes(id=axes,name=axes),我想点击每一个节点,右面datagridview显示当前节点的属性,

datagridview截面是这样,左面显示所有属性的名字如id,name。右面显示所有属性的值如axes,axes也就是等号后面的。
由于每个节点的属性值数量和种类都不一样,所以要动态遍历加入。
我用的是C# winform。求助求助,多谢多谢。
CaRrot_Love 2016-05-05
  • 打赏
  • 举报
回复
引用 9 楼 u014260450 的回复:
我没有数据库,只有XML文件,
没有太理解你的意思,是否有图可以展示下想要的效果
MUF420 2016-05-05
  • 打赏
  • 举报
回复
我没有数据库,只有XML文件,
MUF420 2016-05-05
  • 打赏
  • 举报
回复
多谢你的回复,你可能没有看清我的要求,每一个节点下的属性值和名称都是不一样的。你这个相当于人为添加进去了,我之前做的treeview读取xml文件,每个节点属性都一样,我想点击每个节点右面将属性显示在datagridview
CaRrot_Love 2016-05-05
  • 打赏
  • 举报
回复
引用 6 楼 u014260450 的回复:
不好意思我好想说错了,我的属性值都是固定的,之前设定好的,只是每一个节点里面的一大堆属性名及属性值不一样,都是字符串。

private class ParClass
{
    public string key { get; set; }
    public string values{ get; set; }
}

TreeView.OnNodeClick()//TreeView节点点击事件
{
 string name = "名字:长方体,长:20,宽:30,高:40";//获取每个节点的属性名
                string[] pars = name.Split(',');
                IList<ParClass> pcs = new List<ParClass>();
                ParClass pc;
                foreach (string item in pars)
                {
                    pc = new ParClass();
                    int index = item.IndexOf(":");
                    pc.key = item.Substring(0, index);
                    pc.values = item.Substring(index+1, item.Length - index-1);
                    pcs.Add(pc);
                }
                GridView.DataSource = pcs;
                GridView.DataBind();
}
MUF420 2016-05-05
  • 打赏
  • 举报
回复
不好意思我好想说错了,我的属性值都是固定的,之前设定好的,只是每一个节点里面的一大堆属性名及属性值不一样,都是字符串。
MUF420 2016-05-05
  • 打赏
  • 举报
回复
首先你TreeView节点上显示的属性是某个字段名,还是动态数据是否有对应关系。 1.如果是单纯一个字符串,首先按规则处理字符串 正则或Split 将你的数据保存的集合中 键值对应 名称:正方形,再把集合绑定到GridView上 key value 2.如果数据为动态数据,直接获取节点唯一标识,查询对应数据到集合,集合绑定 我的是动态数据,每个节点的属性值都不一样。获取节点唯一标识,查询对应数据到集合,集合绑定要怎么做到,可以说的稍微细一点吗?多谢多谢。
CaRrot_Love 2016-05-05
  • 打赏
  • 举报
回复
首先你TreeView节点上显示的属性是某个字段名,还是动态数据是否有对应关系。 1.如果是单纯一个字符串,首先按规则处理字符串 正则或Split 将你的数据保存的集合中 键值对应 名称:正方形,再把集合绑定到GridView上 key value 2.如果数据为动态数据,直接获取节点唯一标识,查询对应数据到集合,集合绑定
wireboy 2016-05-05
  • 打赏
  • 举报
回复
WinForm中的每一个Control都有一个属性Tag,它的类型是object,object是所有类型的基类,你可以定义一个数据结构,然后给节点的Tag赋值,要用的时候进行类型转换就好了
MUF420 2016-05-05
  • 打赏
  • 举报
回复
根据treeview节点获取到的一个属性(能唯一标识你treeview上的节点),去查询剩余的属性,再绑定到GridView上 能详细说说吗?初学者,有代码?
EdsionWang 2016-05-05
  • 打赏
  • 举报
回复
根据treeview节点获取到的一个属性(能唯一标识你treeview上的节点),去查询剩余的属性,再绑定到GridView上

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧