如何知道递归到第几层了?C# 如何知道递归到第几层了?是一个树型结构, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 难道做个静态变量你都不会...用static啊。 呵,不用怎么想啦随便动下脑就可以想到成千上万个啦,呵Ivony说得对呀,呵 你把代码贴出来看看,严重鄙视Ivony() ,waikey(人生一笑而过),xiaomatian(趴趴熊◎%#……※×) 谁不是从菜鸟中成长起来的???? 学习学习,不懂就要学,不懂就要问,不要怕问题简单就不敢问,怕被人嘈笑.严重鄙视Ivony() ,waikey(人生一笑而过),xiaomatian(趴趴熊◎%#……※×) 谁不是从菜鸟中成长起来的???? 自己改改实例名称啥的就能用~呵呵private void BuildRoleList(int parentroleid,int rolelevel) { IList rolelist = (IList)this.ViewState["RoleList"]; foreach (RoleInfo objRI in rolelist) { if (objRI.ParentRoleID == parentroleid) { StringBuilder LevelMark = new StringBuilder(); if (objRI.ParentRoleID != 0) { LevelMark.Append("|"); for (int i = 0; i < rolelevel; i++) { LevelMark.Append("—"); } } ListItem objLI = new ListItem(); objLI.Text = LevelMark + objRI.RoleName; objLI.Value = objRI.RoleID.ToString(); Role_Add_ParentRoleList.Items.Add(objLI); BuildRoleList(objRI.RoleID,rolelevel+1); } } } int m=0; string kg; //空格//获得部门下级数private int CountDept(String DeptName){ int CountDept; SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["strConnection"].ToString()); myConnection.Open(); SqlCommand myCommand = new SqlCommand("select count(*) from tbl_Dept where Dept_HigherUp='" + DeptName+"'", myConnection); CountDept = Convert.ToInt32(myCommand.ExecuteScalar()); return CountDept;}public void dg(String HigherUp,int m){ SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["strConnection"].ToString()); SqlDataAdapter myCommand = new SqlDataAdapter("select Dept_Name,Dept_Code,Dept_HigherUp from tbl_Dept where Dept_HigherUp='" + HigherUp+"'", myConnection); DataSet ds = new DataSet(); myCommand.Fill(ds, "tbl_Dept"); int DeptRowsCount=ds.Tables["tbl_Dept"].Rows.Count; for (int n=0; n<m; n++) { kg=kg+"+"; } for (int i=0; i<DeptRowsCount; i++) { Response.Write("<br>" + kg + "┣"+ds.Tables["tbl_Dept"].Rows[i]["Dept_Name"].ToString().Trim()); if (CountDept(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim())>0) { m=m+1; dg(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim(),m); } } } // m=m+1; dg(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim(), m+1 );自己好好想想为什么这样就行了 to Ivony() 按你说的修改,还是不行啊? 求助,一个iis部署的问题 大家推荐一个好的博客 如何获取DataGrid某行中某个单元格的数值? 函数找不到 急急急 添加,修改,查看,这三个页面怎么设计 关于javascript的问题,请各位帮忙 如何用代码重新启动aspx程序? Asp.net 发布的问题 关于asp.net环境的问题 treeview控件点击右键弹出下拉菜单,如何实现? 看了“龙的传人--Xml_javascript分页 ”之后有个设想,能不能让从服务器SQL返回的数据也实现这样的功能?没分了,纯讨论。 各位asp.net高手都有什么开发工具?
随便动下脑就可以想到成千上万个啦,呵
Ivony说得对呀,呵
private void BuildRoleList(int parentroleid,int rolelevel)
{
IList rolelist = (IList)this.ViewState["RoleList"]; foreach (RoleInfo objRI in rolelist)
{
if (objRI.ParentRoleID == parentroleid)
{
StringBuilder LevelMark = new StringBuilder();
if (objRI.ParentRoleID != 0)
{
LevelMark.Append("|");
for (int i = 0; i < rolelevel; i++)
{
LevelMark.Append("—");
}
} ListItem objLI = new ListItem();
objLI.Text = LevelMark + objRI.RoleName;
objLI.Value = objRI.RoleID.ToString();
Role_Add_ParentRoleList.Items.Add(objLI); BuildRoleList(objRI.RoleID,rolelevel+1);
}
}
}
string kg; //空格//获得部门下级数
private int CountDept(String DeptName)
{
int CountDept;
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["strConnection"].ToString());
myConnection.Open();
SqlCommand myCommand = new SqlCommand("select count(*) from tbl_Dept where Dept_HigherUp='" + DeptName+"'", myConnection);
CountDept = Convert.ToInt32(myCommand.ExecuteScalar());
return CountDept;
}public void dg(String HigherUp,int m)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["strConnection"].ToString());
SqlDataAdapter myCommand = new SqlDataAdapter("select Dept_Name,Dept_Code,Dept_HigherUp from tbl_Dept where Dept_HigherUp='" + HigherUp+"'", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "tbl_Dept");
int DeptRowsCount=ds.Tables["tbl_Dept"].Rows.Count;
for (int n=0; n<m; n++)
{
kg=kg+"+";
}
for (int i=0; i<DeptRowsCount; i++)
{
Response.Write("<br>" + kg + "┣"+ds.Tables["tbl_Dept"].Rows[i]["Dept_Name"].ToString().Trim());
if (CountDept(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim())>0)
{
m=m+1;
dg(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim(),m);
}
}
}
dg(ds.Tables["tbl_Dept"].Rows[i]["Dept_Code"].ToString().Trim(), m+1 );
自己好好想想为什么这样就行了