treeview中如何返回节点值?? 我要做一个分层授权,用treeview已实现了分层,第一层为各公司名称,第二层为权限明细(如单据录入、基础资料维护、单据引入等),现在人把这分公司的各权权限保存到数据库中,不知各节点的如公司ID、权限ID如何遍历取过来!?请各位给个例说明一下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也不会,会的快来下啊,我用了checkbox,但不知道怎么遍厉Treeview下才能把选中的checkbox的值加到数据库里面去 treeview.selectednode 或e.Node两个循环,第一个公司名称,第二个权限思路就是这样的, 你要获取树的ID,初始化的时候要设置有ID这个属性,然后遍历树结点取到每个ID.我做过类似的例子,给你邮箱我发你邮箱,你可以参考一下 如果只有两层这样就可以了foreach(TreeNode companyNode in treeView1.Nodes){//公司节点 foreach(TreeNode roleNode in companyNode.Nodes) { //权限节点 } } To Hxlyjy: .先谢谢了!在线等待! 初始化的时候ID可以写到节点的Tag里 初始化时已把ID写入tag,但取不出来!不知什么原因! if(tmpdv.Count>0){foreach(DataRowView DRV in tmpdv){string strTreeNode=DRV["FName"].ToString().Trim();TreeNode tmp=new TreeNode(strTreeNode);TvView1.Nodes.Add(tmp);TvView1.Tag =DRV["FID"].ToString().Trim();TvView1.SelectedNode=TvView1.Nodes[i];TvView1.Nodes[i].ExpandAll();string str;str="select * from T_Role order by FID";dt1=datanew.SelectDataBase(str,exeData.ConnString); //读入数据表DataTable tempDataTable1=dt1.Copy(); //将数据表复制到另一张表;DataView tempDataView1=new DataView(tempDataTable1); //创建视图int k=0;foreach(DataRowView DRv in tempDataView1) { strTreeNode=DRv["FMode"].ToString().Trim(); tmp=new TreeNode(strTreeNode); TvView1.SelectedNode.Nodes.Add(tmp); TvView1.Tag=DRv["FOrder"].ToString().Trim(); k+=1;} i+=1;}}如上根目录和子目录的Tag已写入,但取不出来! 能否帮我看一下,我上面所设置的Tag值怎么取不回来!是这样设置吗! 如下语句可以取到:if(TvView1.SelectedNode.Tag != null) string strValue = TvView1.SelectedNode.Tag.ToString(); private void getnode(){int sCompanyID;int sRigthID;long LoginID;foreach(TreeNode companyNode in TvView1.Nodes){foreach(TreeNode RigthNode in companyNode.Nodes){if(RigthNode.Checked){string strSQL;LoginID=exeData.getTableID("T_Rigth","FID");sCompanyID=Convert.ToInt32(companyNode.tag.ToString().Trim()));sRigthID=Convert.ToInt32(RigthNode.tag.ToString().Trim());try{strSQL =" IF EXISTS(select * from T_Rigth where FUserID='"+ mUserID+"'and FBrNoID="+sCompanyID+" and FRoleID="+sRigthID+")";strSQL +=" Delete T_Rigth where FUserID='"+ mUserID+"'and FBrNoID="+sCompanyID+" and FRoleID="+sRigthID;strSQL +=" Insert Into T_Rigth(FID,FUserID,FBrNoID,FRoleID,FFlag) Values("+ LoginID+","+mUserID+","+sCompanyID+","+sRigthID+",1)"; datanew.updateDataBaseWithTranNew(strSQL,exeData.ConnString); }catch(Exception ex){MessageBox.Show(ex.Message);}}}}}看一下,这个Tag值好象没有,看一下! 如何给string语句中的datetime变量赋值 在线求C#语言剔除特定样式的html元素 B/S 结构的网页客服其实现原理是什么? datagridview分页 webform按钮只能点一次的问题(不用数据库) 我登录CSDN时以下信息提示越来越频繁,大家那儿的情况如何? 列不属于表的问题! 查找WebBrowser中一个网页里一个按钮的坐标 在dataGrid中怎么删除当前行(就是选中的一行),并使游标下移?? C#中的一些关键性的问题?共享答疑。。。 2003 报表 会的帮个忙啊 如何把array里面的数据放到一个二维数组里面
或
e.Node
两个循环,
第一个公司名称,
第二个权限
思路就是这样的,
我做过类似的例子,给你邮箱我发你邮箱,你可以参考一下
{
//公司节点
foreach(TreeNode roleNode in companyNode.Nodes)
{
//权限节点 } }
{
foreach(DataRowView DRV in tmpdv)
{
string strTreeNode=DRV["FName"].ToString().Trim();
TreeNode tmp=new TreeNode(strTreeNode);
TvView1.Nodes.Add(tmp);
TvView1.Tag =DRV["FID"].ToString().Trim();
TvView1.SelectedNode=TvView1.Nodes[i];
TvView1.Nodes[i].ExpandAll();string str;
str="select * from T_Role order by FID";
dt1=datanew.SelectDataBase(str,exeData.ConnString); //读入数据表
DataTable tempDataTable1=dt1.Copy(); //将数据表复制到另一张表;
DataView tempDataView1=new DataView(tempDataTable1); //创建视图
int k=0;
foreach(DataRowView DRv in tempDataView1)
{
strTreeNode=DRv["FMode"].ToString().Trim();
tmp=new TreeNode(strTreeNode);
TvView1.SelectedNode.Nodes.Add(tmp);
TvView1.Tag=DRv["FOrder"].ToString().Trim();
k+=1;
}
i+=1;
}
}如上根目录和子目录的Tag已写入,但取不出来!
if(TvView1.SelectedNode.Tag != null)
string strValue = TvView1.SelectedNode.Tag.ToString();
{
int sCompanyID;
int sRigthID;
long LoginID;
foreach(TreeNode companyNode in TvView1.Nodes)
{
foreach(TreeNode RigthNode in companyNode.Nodes)
{
if(RigthNode.Checked)
{
string strSQL;
LoginID=exeData.getTableID("T_Rigth","FID");
sCompanyID=Convert.ToInt32(companyNode.tag.ToString().Trim()));
sRigthID=Convert.ToInt32(RigthNode.tag.ToString().Trim());
try
{
strSQL =" IF EXISTS(select * from T_Rigth where FUserID='"+ mUserID+"'and FBrNoID="+sCompanyID+" and FRoleID="+sRigthID+")";
strSQL +=" Delete T_Rigth where FUserID='"+ mUserID+"'and FBrNoID="+sCompanyID+" and FRoleID="+sRigthID;
strSQL +=" Insert Into T_Rigth(FID,FUserID,FBrNoID,FRoleID,FFlag) Values("+
LoginID+","+mUserID+","+sCompanyID+","+sRigthID+",1)";
datanew.updateDataBaseWithTranNew(strSQL,exeData.ConnString);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}看一下,这个Tag值好象没有,看一下!