手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net treeview checkbox 相关问题
asp.net treeview checkbox 相关问题
摘要:privatevoidDisplay(){dt=newTsOrganize().OrganizeDs();DataViewdv=newDat...

private void Display()

{

dt = new TsOrganize().OrganizeDs();

DataView dv = new DataView(dt);

TreeNode nodes = new TreeNode();

nodes.Text = "两岸咖啡";

nodes.Value = "0";

if (dt.Rows.Count >= 1)

{

dv.RowFilter = "fParentId=''";

if (dv.Count >= 1)

{

foreach (DataRowView drrow in dv)

{

TreeNode nodel = new TreeNode();

nodel.Text = drrow.Row["fOrgName"].ToString();

nodel.Value = drrow.Row["forgNo"].ToString();

nodes.ChildNodes.Add(nodel);

NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());

}

}

}

treevList.Nodes.Add(nodes);

}

//生成树

private void NodeList(DataView dv, TreeNode node, string ParentId)

{

dv.RowFilter = "fParentId='" + ParentId.ToString() + "'";

if (dv.Count >= 1)

{

foreach (DataRowView drrow in dv)

{

TreeNode nodel = new TreeNode();

nodel.Text = drrow.Row["fOrgName"].ToString();

nodel.Value = drrow.Row["forgNo"].ToString();

node.ChildNodes.Add(nodel);

NodeList(dv, nodel, drrow.Row["fOrgNo"].ToString());

}

}

}

============================================================

1.

TreeNodeCollection tnc = treevList.CheckedNodes;

//获取树中所有选定的节点

private void GetCheckNode(TreeNodeCollection tnc)

{

foreach (TreeNode node in tnc)

{

if(node.Checked)

{

if (node.ChildNodes.Count == 0)

{

DataRow dr = tblSelChains.NewRow();

dr["forgNo"] = node.Value;

dr["fOrgName"] = node.Text.ToString();

tblSelChains.Rows.Add(dr);

}

}

}

}

2.根据根据数据库中的值,给相应的节点的CHECKED=true

/// <summary>

///dtPloyStore :是表(保存从数据库中读取的数据)

/// <para></para>

/// </summary>

TreeNodeCollection tnc = treevList.Nodes ;

if (dtPloyStore != null)

{

if (dtPloyStore.Rows.Count > 0)

{

for (int i = 0; i < dtPloyStore.Rows.Count; i++)

{

GetSelectedTreeNode(tnc, dtPloyStore.Rows[i]["fOrgNo"].ToString());

}

}

}

/// <summary>

/// 遍历门店树,得到选中的节点

/// <para></para>

/// </summary>

/// <param name="tnc"></param>

public void GetSelectedTreeNode(TreeNodeCollection tnc,string CheckData)

{

foreach (TreeNode node in tnc)

{

if (node.Checked)

{

node.Checked = true;

break;

}

GetSelectedTreeNode(node.ChildNodes, CheckData);

}

}

3.javascript实现选中父节点,子节点自动选中

///后台给treeview添加属性

/// this.treevList.Attributes.Add("onclick", "OnTreeNodeChecked()");

///下面是在前台javascript中编写的

function OnTreeNodeChecked() {

var ele = window.event.srcElement;

if (ele.type == 'checkbox') {

var childrenDivID = ele.id.replace('CheckBox', 'Nodes');

var div = document.getElementById(childrenDivID);

if (div == null) return;

var checkBoxs = div.getElementsByTagName('INPUT');

for (var i = 0; i < checkBoxs.length; i++) {

if (checkBoxs[i].type == 'checkbox')

checkBoxs[i].checked = ele.checked;

}

}

4.在 treeview上显示CHECKBOX,其实很简单,只要设置 ShowCheckBoxes="All"

如果我们想显示treeviw的设定层,我们可以设置 ExpandDepth="N" (N为数字,就是你想显示的层数,0为全部层)

【asp.net treeview checkbox 相关问题】相关文章:

asp.net Repeater 自递增

asp.net中C++单例实现问题分析

asp.net webservice返回json的方法

asp.net Repeater取得CheckBox选中的某行某个值

asp.net gridview代码绑定

asp.net membership 密码重设

asp.net 去除viewstate第1/2页

asp.net gridview多页时的批量删除

asp.net ListView 数据绑定

asp.net开发与web标准的冲突问题的一些常见解决方法

精品推荐
分类导航