在c#中treeview 怎么获取选中节点的子节点

在c#中treeview 怎么获取选中节点的子节点,第1张

风某提供两种方式:

第一种是在TreeView的AfterSelect事件中,

TreeViewEventArgs

e的这个e具备了Node的属性,也就是说这个eNodeNodes就是被选中的节点的子节点组合。

第二种方式你可以使用treeView1SelectedNode的Nodes属性,也就是thistreeView1SelectedNodeNodes,就是TreeView的被选中的树节点子节点了

在js中定义一个数组,循环判断checkbox是否被选中,若选中则将该checkbox的值放入数组中。

<script language="javascript">

function ifchecked(){

var i = 0;

var j = 0;

var array = new Array();

for(;i<documentformnamecheckboxnamelength ; i++){

if(documentformnamecheckboxname[i]checked == true){

array[j] = documentformnamecheckboxname[i]value;

j++;

}

}

}

</script>

//某一节点下的所有子节点

function getChildren(id/节点ID/){

    var $tree = $('#tree');

    var node = $treetree('find',id);

    var childrenNodes = $treetree('getChildren',nodetarget);

    return childrenNodes;

}

//某节点的一级节点

function getSubChildren(id){

    var $tree = $('#tree');

    var node = $treetree('find',id);

    var subNodes = [];

    $(nodetarget)

    next()children()children("divtree-node")each(function(){   

        subNodespush($treetree('getNode',this));

    });

   return subNodes;

}

读:

//打开某文件(假设webconfig在根目录中)

string filename=ServerMapPath("/") + @"WebApplication1\webconfig";

XmlDocument xmldoc= new XmlDocument();

xmldocLoad(filename);

//得到顶层节点列表

XmlNodeList topM=xmldocDocumentElementChildNodes;

foreach(XmlElement element in topM)

{

if(elementNameToLower()=="appsettings")

{

//得到该节点的子节点

XmlNodeList nodelist=elementChildNodes;

if ( nodelistCount >0 )

{

//DropDownList1ItemsClear();

foreach(XmlElement el in nodelist)//读元素

{

//DropDownList1ItemsAdd(elAttributes["key"]InnerXml);

//thisTextBox2Text=elAttributes["key"]InnerText;

thisTextBox2Text=elAttributes["key"]Value;

thisLabel1Text=elAttributes["value"]Value;

//同样在这里可以修改元素值,在后面save。

// elAttributes["value"]Value=thisTextBox2Text;

}

}

}

}

xmldocSave(filename);

在某节点下增加一个元素,并设置值:

if(elementNameToLower()=="appsettings")

{

XmlElement elem =xmldocCreateElement("add");

elementAppendChild(elem);

elemInnerText="ltp";

xmldocSave(filename);

}

效果:

<appSettings>

<add key="密码" value="admin" />

<add>ltp</< span="" />add>

</< span="" />appSettings>

在某节点下增加一个元素,并增加两个属性:

if(elementNameToLower()=="appsettings")

{

XmlElement elem =xmldocCreateElement("add");

elementAppendChild(elem);

XmlAttribute xa=xmldocCreateAttribute("key");

xaValue="ltp";

XmlAttribute xa2=xmldocCreateAttribute("value");

xa2Value="first";

elemSetAttributeNode(xa);

elemSetAttributeNode(xa2);

xmldocSave(filename);

}

效果:

<appSettings>

<add key="密码" value="admin" />

<add key="ltp" value="first" />

</< span="" />appSettings>

//添加空元素:

XmlNode node=docCreateElement(groupname);

nodeInnerText="";

docLastChildAppendChild(node);

docSave(xmlfile);

删除一个节点元素

string itemname=thislistBox1SelectedItemToString();

thislistBox1ItemsRemove(thislistBox1SelectedItem);

//begin del xmlfile

XmlDocument doc=new XmlDocument();

docLoad(xmlfile);

XmlNodeList topM=docDocumentElementChildNodes;

foreach(XmlElement element in topM)

{

if(elementName==thiscomboBox1Text)

{

//得到该节点的子节点

XmlNodeList nodelist=elementChildNodes;

foreach(XmlElement el in nodelist)//读元素值

{

if(elAttributes["key"]Value==itemname)

{

elementRemoveChild(el);

}

}//循环元素

}//得到组

}//循环组

docSave(xmlfile); //一定要保存一下,否则不起作用

//筛选数据

private void Reader_Xml(string pathFlie)

{

XmlDocument Xmldoc=new XmlDocument();

XmldocLoad(pathFlie);

XmlNodeList Record1=XmldocDocumentElementSelectNodes(Code[@id='1'])

int f=0;

foreach(XmlNode xnode in Record1)

{

}

}///////读取xml数据 两种xml方式/

<aaa>

<bb>something</< span="" />bb>

<cc>something</< span="" />cc>

</< span="" />aaa>

<aaa>

<add key="123" value="321"/>

</< span="" />aaa>

///////第一种方法/

DSReadXml("your xmlfile name");

ContainerDataItem("bb");

ContainerDataItem("cc");

DSReadXmlSchema("your xmlfile name");

///////第二种方法/

<aaa>

<add key="123" value="321"/>

</< span="" />aaa>

如果我要找到123然后取到321应该怎么写呢?

using SystemXML;

XmlDataDocument xmlDoc = new SystemXmlXmlDataDocument();

xmlDocLoad(@"c:\Configxml");

XmlElement elem = xmlDocGetElementById("add");

string str = elemAttributes["value"]Value

///////第三种方法: SelectSingleNode 读取两种格式的xml ---/

--------------------------------------------------------------------

Data Source=yf; user id=ctm_dbo;password=123

--------------------------------------------------------------------------

XmlDocument doc = new XmlDocument();

docLoad(strXmlName);

XmlNode node=docSelectSingleNode("/configuration/appSettings/ConnectionString");

if(node!=null)

{

string k1=nodeValue; //null

string k2=nodeInnerText;//Data Source=yf; user id=ctm_dbo;password=123

string k3=nodeInnerXml;//Data Source=yf; user id=ctm_dbo;password=123

node=null;

}

--------------------------------------------------------------------

XmlNode node=docSelectSingleNode("/configuration/appSettings/add");

if(node!=null)

{

string k=nodeAttributes["key"]Value;

string v=nodeAttributes["value"]Value;

node=null;

}

--------------------------------------------------------------------

XmlNode node=docSelectSingleNode("/configuration/appSettings/add");

if(node!=null)

{

XmlNodeReader nr=new XmlNodeReader(node);

nrMoveToContent();

//检查当前节点是否是内容节点。如果此节点不是内容节点,则读取器向前跳至下一个内容节点或文件结尾。

nrMoveToAttribute("value");

string s=nrValue;

node=null;

}

JS有个自带的parent的方法,他是返回上级的节点,也有个返回上上级的方法是parents('这里是你的上级ID或Class名') $(this)parent("selected")如果他的上级名字叫selected是这个class就可以找到了 这些方法,可以去看一下JQ手册,上面都讲得很清楚。

原因

demo所在域是window,所以demo里面的this表示window,不是id是haha的dom节点。如果需要知道点击对象,把this当做参数传入demo中

修改方法

<script type="text/javascript">

$(document)ready(function(e){

$("#haha")click(function(){demo(this);})

function demo(self)

{

alert(selfid)

}

})

</script>

通过鼠标选中事件获取点击的物体e,查找此物体eparent属性,我是sceneadd()添加的,判定eparent !== scene,不相等(e = eparent)就接着向上找,直到找到相等的时候此时的e就是整个外部模型。 获取外部模型代码 letself=this;functionget_parent(e){if(eparent&&eparent!==selfscene){get_parent(eparent);}else{selfselectMesh=e;}}get_parent(intersectobject);consolelog(thisselectMesh); 获取外部模型所有子节点方法 threejs本身封装的traverse方法: thisselectMeshtraverse(function(e){if(ematerial)

以上就是关于在c#中treeview 怎么获取选中节点的子节点全部的内容,包括:在c#中treeview 怎么获取选中节点的子节点、如何获取通过checkbox这个所先被选中的节点)this.treeView1.CheckBoxes = true、如何获取jquery easyui Tree的 (1)某一节点下的所有子节点,(2)某节点下的一级节点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9621056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存