zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

asp.nettreeviewcheckbox相关问题

ASP 问题 相关
2023-06-13 09:14:10 时间
privatevoidDisplay()
{
dt=newTsOrganize().OrganizeDs();
DataViewdv=newDataView(dt);
TreeNodenodes=newTreeNode();
nodes.Text="两岸咖啡";
nodes.Value="0";
if(dt.Rows.Count>=1)
{
dv.RowFilter="fParentId=""";
if(dv.Count>=1)
{
foreach(DataRowViewdrrowindv)
{
TreeNodenodel=newTreeNode();
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);
}

//生成树
privatevoidNodeList(DataViewdv,TreeNodenode,stringParentId)
{
dv.RowFilter="fParentId=""+ParentId.ToString()+""";
if(dv.Count>=1)
{
foreach(DataRowViewdrrowindv)
{
TreeNodenodel=newTreeNode();
nodel.Text=drrow.Row["fOrgName"].ToString();
nodel.Value=drrow.Row["forgNo"].ToString();
node.ChildNodes.Add(nodel);
NodeList(dv,nodel,drrow.Row["fOrgNo"].ToString());
}
}
}
============================================================
1.
TreeNodeCollectiontnc=treevList.CheckedNodes;
//获取树中所有选定的节点
privatevoidGetCheckNode(TreeNodeCollectiontnc)
{
foreach(TreeNodenodeintnc)
{
if(node.Checked)
{
if(node.ChildNodes.Count==0)
{
DataRowdr=tblSelChains.NewRow();
dr["forgNo"]=node.Value;
dr["fOrgName"]=node.Text.ToString();
tblSelChains.Rows.Add(dr);
}
}
}
}

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

///<summary>
///dtPloyStore:是表(保存从数据库中读取的数据)
///<para></para>
///</summary>
TreeNodeCollectiontnc=treevList.Nodes;
if(dtPloyStore!=null)
{
if(dtPloyStore.Rows.Count>0)
{
for(inti=0;i<dtPloyStore.Rows.Count;i++)
{
GetSelectedTreeNode(tnc,dtPloyStore.Rows[i]["fOrgNo"].ToString());
}
}
}
///<summary>
///遍历门店树,得到选中的节点
///<para></para>
///</summary>
///<paramname="tnc"></param>
publicvoidGetSelectedTreeNode(TreeNodeCollectiontnc,stringCheckData)
{
foreach(TreeNodenodeintnc)
{
if(node.Checked)
{
node.Checked=true;
break;
}
GetSelectedTreeNode(node.ChildNodes,CheckData);
}
}

3.javascript实现选中父节点,子节点自动选中
///后台给treeview添加属性
///this.treevList.Attributes.Add("onclick","OnTreeNodeChecked()");

///下面是在前台javascript中编写的
functionOnTreeNodeChecked(){
varele=window.event.srcElement;
if(ele.type=="checkbox"){
varchildrenDivID=ele.id.replace("CheckBox","Nodes");
vardiv=document.getElementById(childrenDivID);
if(div==null)return;
varcheckBoxs=div.getElementsByTagName("INPUT");
for(vari=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为全部层)