现在我用递归遍历所有的子节点,用arraylist装回去得,
现在怎么像个办法把所有得子节点,用函数返回值装呢
如:string arr = getChild("132");
就能返回所有得节点呢
ArrayList al = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
getChild("132");
foreach (string temp in al)
{
Response.Write(temp+"<br>");
}
}
public void getChild(string pid)
{
DataTable dt = DbHelperOleDb.Query("select * from [zone] where [parentid]="+pid).Tables[0];
for(int i=0;i<dt.Rows.Count;i++)
{
DataTable dts = DbHelperOleDb.Query("select * from [zone] where [parentid]="+Convert.ToString(dt.Rows[i]["classid"]??"-100")).Tables[0];
if(dts.Rows.Count>0)
{
getChild(Convert.ToString(dts.Rows[0]["classid"]??"-100"));
}
else
{
al.Add(Convert.ToString(dt.Rows[i]["classid"]??"-100"));
}
}
}
现在怎么像个办法把所有得子节点,用函数返回值装呢
如:string arr = getChild("132");
就能返回所有得节点呢
ArrayList al = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
getChild("132");
foreach (string temp in al)
{
Response.Write(temp+"<br>");
}
}
public void getChild(string pid)
{
DataTable dt = DbHelperOleDb.Query("select * from [zone] where [parentid]="+pid).Tables[0];
for(int i=0;i<dt.Rows.Count;i++)
{
DataTable dts = DbHelperOleDb.Query("select * from [zone] where [parentid]="+Convert.ToString(dt.Rows[i]["classid"]??"-100")).Tables[0];
if(dts.Rows.Count>0)
{
getChild(Convert.ToString(dts.Rows[0]["classid"]??"-100"));
}
else
{
al.Add(Convert.ToString(dt.Rows[i]["classid"]??"-100"));
}
}
}
解决方案 »
- 急求解决firefox中file问题
- 怎么 吧 xml 文件 读取 成 datetable 格式的 ?
- 关于ASP.NET程序发布问题
- 在js里面如何写入.net 的代码? 在线等~!
- .net用c#在vs2008中建立一个.xml配置文件
- JS在firefox中不兼容,请高手支招!
- GridView注册脚本问题.直接运行脚本注册没有成功.但是调试的时候设置断点就会成功!
- 关于ASP.NET的服务器按钮控件调用javascript
- 关于OracleCommand.Parameters 的用法,我写了一个SQL,但总是报错,请大家指教!
- 那位高手知道如何从asp向asp.net中传递参数啊?
- asp.net编写的一个留言板(新人问题)
- Datalist嵌套问题
protected void Page_Load(object sender, EventArgs e)
{
getChild("132"); //执行完getChild("132")之后 ArrayList 对象 al已经就有值了
foreach (string temp in al)
{
Response.Write(temp+" <br> ");
}
}
public void getChild(string pid)
{
DataTable dt = DbHelperOleDb.Query("select * from [zone] where [parentid]="+pid).Tables[0];
for(int i=0;i <dt.Rows.Count;i++)
{
DataTable dts = DbHelperOleDb.Query("select * from [zone] where [parentid]="+Convert.ToString(dt.Rows[i]["classid"]??"-100")).Tables[0];
if(dts.Rows.Count> 0)
{
getChild(Convert.ToString(dts.Rows[0]["classid"]??"-100"));
}
else
{
al.Add(Convert.ToString(dt.Rows[i]["classid"]??"-100"));
}
}
}
public ArrayList getChild(string pid)
{
DataTable dt = DbHelperOleDb.Query("select * from [zone] where [parentid]="+pid).Tables[0];
for(int i=0;i <dt.Rows.Count;i++)
{
DataTable dts = DbHelperOleDb.Query("select * from [zone] where [parentid]="+Convert.ToString(dt.Rows[i]["classid"]??"-100")).Tables[0];
if(dts.Rows.Count> 0)
{
getChild(Convert.ToString(dts.Rows[0]["classid"]??"-100"));
}
else
{
al.Add(Convert.ToString(dt.Rows[i]["classid"]??"-100"));
}
}
return al;
}