写新闻的时候不可避免的要写到分类的管理
笔者一时间陷入几级分类的痛苦中看过CS之后才发现原来CS那么大的系统也不过三级而已
自己写的是一个二级把两个都贴出来 和大家一起分享,采用遍历的方法按层级的顺序访问
public static bool ISLastONE(int id)
{
Provider dp = Provider.Instance();

ColumnCollection columns = GetSortColumns();
for (int i = 0; i < columns.Count; i++)
{
if (id == columns[i].ID)
{
if (i + 1 < columns.Count)
{
if (columns[i + 1].Depth < columns[i].Depth)
return true;
}
else return true;
}
}

return false;
}
上移, 下移
public static void MoveSort(int id, int depth, Way way)
{
Provider dp = Provider.Instance();
if (id != 0 && depth > -1)
{
dp.SortMove(id, depth, way);
}
else throw new Exception("参数不正确,请检查");
}
笔者一时间陷入几级分类的痛苦中看过CS之后才发现原来CS那么大的系统也不过三级而已
自己写的是一个二级把两个都贴出来 和大家一起分享,采用遍历的方法按层级的顺序访问
1
public static string BuildTreeByColumnID(int id)
2
{
3
Provider dp = Provider.Instance();
4
5
Column column = GetColumnByID(id);
6
int depth = column.Depth;
7
int sort = column.Sort;
8
if(depth == 0)
9
{
10
if (dp.GetChildColumns(id).Count > 0)
11
{
12
return "images/admin_tree_plusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
13
}
14
else
15
{
16
if (!ISLastONE(id))
17
return "images/admin_tree_minusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
18
else return "images/admin_tree_minusbottom.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
19
}
20
}
21
else if(depth == 1)
22
{
23
if (dp.GetChildColumns(id).Count > 0)
24
{
25
return "images/admin_tree_line.gif" + "&" + "images/admin_tree_plusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
26
27
}
28
else
29
{
30
if (!ISLastONE(id))
31
return "images/admin_tree_line.gif" + "&" + "images/admin_tree_minusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
32
else return "images/admin_tree_line.gif" + "&" + "images/admin_tree_minusbottom.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;
33
}
34
}
35
else return null;
36
}
public static string BuildTreeByColumnID(int id)2
{3
Provider dp = Provider.Instance();4

5
Column column = GetColumnByID(id);6
int depth = column.Depth;7
int sort = column.Sort;8
if(depth == 0)9
{10
if (dp.GetChildColumns(id).Count > 0)11
{12
return "images/admin_tree_plusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name; 13
}14
else15
{16
if (!ISLastONE(id))17
return "images/admin_tree_minusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;18
else return "images/admin_tree_minusbottom.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;19
}20
}21
else if(depth == 1)22
{23
if (dp.GetChildColumns(id).Count > 0)24
{ 25
return "images/admin_tree_line.gif" + "&" + "images/admin_tree_plusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;26
27
}28
else29
{30
if (!ISLastONE(id))31
return "images/admin_tree_line.gif" + "&" + "images/admin_tree_minusmiddle.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;32
else return "images/admin_tree_line.gif" + "&" + "images/admin_tree_minusbottom.gif" + "&" + "images/admin_tree_folder.gif" + "&" + column.Name;33
}34
}35
else return null;36
}
public static bool ISLastONE(int id)
{
Provider dp = Provider.Instance();
ColumnCollection columns = GetSortColumns();
for (int i = 0; i < columns.Count; i++)
{
if (id == columns[i].ID)
{
if (i + 1 < columns.Count)
{
if (columns[i + 1].Depth < columns[i].Depth)
return true;
}
else return true;
}
}
return false;
}public static ColumnCollection GetSortColumns()
{
Provider dp = Provider.Instance();
ColumnCollection columns = new ColumnCollection();
int i = 0;// 临时索引
Column column = new Column();
for (i = 0; i < dp.GetColumnsByDepth(0).Count; i++)
{
column = dp.GetColumnsByDepth(0)[i];
columns.Add(column);// 按索引添加数据
// 添加子栏目并建立索引
if (dp.GetChildColumns(column.ID) != null)
{
for (int k = 0; k < dp.GetChildColumns(column.ID).Count; k++)
{
columns.Add(dp.GetChildColumns(column.ID)[k]);
}
}
}
return columns;
}
{
Provider dp = Provider.Instance();
ColumnCollection columns = new ColumnCollection();
int i = 0;// 临时索引
Column column = new Column();
for (i = 0; i < dp.GetColumnsByDepth(0).Count; i++)
{
column = dp.GetColumnsByDepth(0)[i];
columns.Add(column);// 按索引添加数据
// 添加子栏目并建立索引
if (dp.GetChildColumns(column.ID) != null)
{
for (int k = 0; k < dp.GetChildColumns(column.ID).Count; k++)
{
columns.Add(dp.GetChildColumns(column.ID)[k]);
}
}
}
return columns;
}
上移, 下移
public static void MoveSort(int id, int depth, Way way)
{
Provider dp = Provider.Instance();
if (id != 0 && depth > -1)
{
dp.SortMove(id, depth, way);
}
else throw new Exception("参数不正确,请检查");
}

浙公网安备 33010602011771号