日期:2014-05-17  浏览次数:20528 次

关于商品分类父节点和子节点的问题
1、我想做的效果如下:
上装
卫衣|长袖T|衬衫|皮衣
棉衣|大衣|短袖
下装
裙子|牛仔裤|直筒裤|铅笔裤
短裤|棉裤
2、上表的商品分类是从数据库里面提取出来的,我知道是先找出父ID然后再找子ID,问题是我如何保证提出子节点每一行显示4个,多的话然后在下一行显示,请问怎么弄的
3.我的代码如下,找父节点和子节点的方法就不显示了,请高人指点一下,如何保证每一行出现四个子类
 public string GetLeftProductType()
        {
            StringBuilder str_GetLeftProductType = new StringBuilder();
            DataTable dt = new DataTable();
            dt = GetProductTypeParentID(0);//获取id为0的父元素
            foreach (DataRow dr in dt.Rows)
            {
                    str_GetLeftProductType.Append("<table><tr><th>" + dr["CatalogName"].ToString() + "</th></tr>");
                    intGetCatalogID =Convert.ToInt32(dr["CatalogID"].ToString());
                    DataTable dt1 = new DataTable();
                    dt1 = GetCatalogID(intGetCatalogID);//通过大类找到小类
                    foreach (DataRow dr1 in dt1.Rows )
                    {
                        str_GetLeftProductType.Append("<tr><td>" + dr1["CatalogName"] + "|");
                        str_GetLeftProductType.Append("</td></tr>");
                    }
                    str_GetLeftProductType.Append("</table>");
            }
            return Convert.ToString(str_GetLeftProductType); 
        }

------解决方案--------------------
int i = 0;
foreach (DataRow dr1 in dt1.Rows)
{
    if (i % 4 == 0) //换行
        str_GetLeftProductType.Append("<tr>");
    str_GetLeftProductType.Append("<td>" + dr1["CatalogName"] + "
------解决方案--------------------
" + "</td>");
    if (i % 4 == 3)
        str_GetL