表结构如图:![]()
代码如下:
/// 定义一个无限级分类
///
///
"id">传入的ID判断是否是 gridview
///
public void bd(int id, string tablename)
{
sqlString = "select * from " + tablename + " where fid=0 order by
id";
DataTable dt1 = sh.RunSQLReturnDs(sqlString).Tables[0];
dt = new DataTable();
dt.Columns.Add(new DataColumn("name"));
dt.Columns.Add(new DataColumn("id"));
DataRow row = dt.NewRow();
if (id == 1)
{
row[1] = "0";
row[0] = "顶级目录";
dt.Rows.Add(row);
}
for (int i = 0; i < dt1.Rows.Count; i++)
{
System.Web.HttpContext.Current.Response.Write("
color=red>" + dt1.Rows[i]["Role_content"].ToString() + "
dg(Convert.ToInt32(dt1.Rows[i]["id"].ToString()), tablename);
}
}
///
/// 实现递归
///
///
"id">
public void dg(int id, string tablename)
{
sqlString = "select * from " + tablename + " where fid=" + id + "
order by id ";
DataTable dt1 = sh.RunSQLReturnDs(sqlString).Tables[0];
string cc = "";
for (int i = 0; i < dt1.Rows.Count; i++)
{
if (i % 2 == 0)
{
cc = "";
}
else
{
cc = " ";
}
string bb = null;
for (int j = 1; j <= 2; j++)
{
bb = bb + " ";
}
System.Web.HttpContext.Current.Response.Write(bb + "
type=checkbox name=Power_id value=" + dt1.Rows[i]["id"].ToString() + ">" +
dt1.Rows[i]["Role_content"].ToString() + "");
dg(Convert.ToInt32(dt1.Rows[i]["id"].ToString()), tablename);
}
}