当前位置:编程学习 > C#/ASP.NET >>

一个asp.net数据显示问题?大大们帮小弟一把

比如我建了2个表 一个是类别 一个类别对应多个物品,一个物品只对应一个类别  现在我想这样输出
——————————————————————————
类别1  物品1 物品2 物品3 物品4 物品5 物品6
类别2  物品1 物品2 物品3 物品4 物品5 物品6
类别3  物品1 物品2 物品3 物品4 物品5 物品6    
这该怎么办?数据查询怎么写
——————————————————————————
自己碰到的问题:书上只能是你点击一个类别,获得类别ID,
然后用控件循环输出 物品1 物品2 物品3 物品4 物品5 物品6
想解决的问题 不用单击直接列出
类别1  物品1 物品2 物品3 物品4 物品5 物品6
类别2  物品1 物品2 物品3 物品4 物品5 物品6
类别3  物品1 物品2 物品3 物品4 物品5 物品6 
————————————————————————————————
哪位高人 能解答一下? 高分相送 谢谢 --------------------编程问答-------------------- 按类别写一个循环就行了啊
遍历所有的类别
每次循环将一个类别作为参数传进去 
根据类别id获得物品列表的方法你已经有了 --------------------编程问答-------------------- 假设一下2个表

category

categoryid  name  
    1       生活   
     2       家具 
product

productid    name  categoryid  
    1        牙刷       1
    2        面巾      1 --------------------编程问答-------------------- 假设一下2个表

category

categoryid  name  
    1       生活   
     2       家具 
product

productid    name  categoryid  
    1        牙刷       1
    2        面巾      1 --------------------编程问答--------------------
引用 1 楼 hubblebubblepig 的回复:
按类别写一个循环就行了啊 
遍历所有的类别 
每次循环将一个类别作为参数传进去 
根据类别id获得物品列表的方法你已经有了


给点代码啊 兄弟   --------------------编程问答-------------------- 你是要凑个table 还是前台的绑定 还是单纯输出字符串 还是怎样的? --------------------编程问答--------------------
引用 5 楼 hubblebubblepig 的回复:
你是要凑个table 还是前台的绑定 还是单纯输出字符串 还是怎样的?


最好是用 ul 输出

比如 <ul>
        <li>类别1</li>
        <li>物品1</li>
        <li>物品2</li>
        <li>物品3</li>
        <li>物品4</li>
     </ul> --------------------编程问答--------------------
引用 5 楼 hubblebubblepig 的回复:
你是要凑个table 还是前台的绑定 还是单纯输出字符串 还是怎样的?


最好都来一下 救命啊 --------------------编程问答--------------------
引用 5 楼 hubblebubblepig 的回复:
你是要凑个table 还是前台的绑定 还是单纯输出字符串 还是怎样的?


最好都来一下 救命啊 --------------------编程问答-------------------- --------------------编程问答--------------------

            DataTable dtCategory = new DataTable("category");
            dtCategory.Columns.Add("categoryid", typeof(int));
            dtCategory.Columns.Add("name", typeof(string));
            dtCategory.Rows.Add(1, "生活");
            dtCategory.Rows.Add(2, "家具");

            DataTable dtProduct = new DataTable("product");
            dtProduct.Columns.Add("productid", typeof(int));
            dtProduct.Columns.Add("name", typeof(string));
            dtProduct.Columns.Add("categoryid", typeof(int));
            dtProduct.Rows.Add(1, "牙刷", 1);
            dtProduct.Rows.Add(2, "面巾", 1);
            dtProduct.Rows.Add(3, "桌子", 2);
            dtProduct.Rows.Add(4, "衣柜", 2);

            StringBuilder str = new StringBuilder();

            foreach (DataRow drc in dtCategory.Rows)
            {
                str.Append("<ul>");

                int categoryid = Convert.ToInt32(drc["categoryid"]);
                string categoryname = Convert.ToString(drc["name"]);

                str.AppendFormat("<li>{0}</li>", categoryname);

                foreach (DataRow drp in dtProduct.Select("(categoryid='" + categoryid + "')"))
                {
                    str.AppendFormat("<li>{0}</li>", Convert.ToString(drp["name"]));
                }

                str.Append("</ul>");
            }
--------------------编程问答-------------------- 最好把dtProduct.Select("(categoryid='" + categoryid + "')")这句话单拿出来

DataRow[] drps = dtProduct.Select("(categoryid='" + categoryid + "')");
foreach(DataRow drp in drps)
{
....
}

不然循环时候每次都要用一次select --------------------编程问答-------------------- 大大泡泡猪 先谢谢啦 我好好研究一番 --------------------编程问答--------------------
引用 9 楼 dbillows 的回复:


看了这回复 我想说

你是 
进化不完全的生命体,基因突变的外星人, 
幼稚园程度的高中生,先天蒙古症的青蛙头, 
圣母峰雪人的弃婴,化粪池堵塞的凶手, 
非洲人搞上黑*的后裔,阴阳失调的黑猩猩, 
被诺亚方舟压过的河马,新火山喷发口, 
超大无耻传声扩音喇叭,爱斯基摩人的耻辱, 
和蟑螂共存活的超个体,生命力腐烂的半植物, 
会发出臭味的垃圾人,“唾弃“名词的源头, 
每天退化三次的恐龙,人类历史上最强的废材, 
上帝失手摔下来的旧洗衣机,能思考的无脑袋生物, 
损毁亚洲同胞名声的祸害,祖先为之蒙羞的子孙, 
沉积千年的腐植质,科学家也不敢研究的原始物种, 
10倍石油浓度的沉积原料,被毁容的麦当劳叔叔, 
像你这种可恶的家伙 : 
只能演电视剧里的一陀粪, 
比不上路边被狗洒过尿的口香糖, 
连如花都帅你10倍以上, 
找女朋友得去动物园甚至要离开地球, 
想要自杀只会有人劝你不要留下尸体以免污染环境, 
你摸过的键盘上连阿米吧原虫都活不下去, 
喷出来的口水比SARS还致命, 
装可爱的话可以瞬间解决人口膨胀的问题, 
耍酷装帅的话人类就只得用无性生殖, 
白痴可以当你的老师,智障都可以教你说人话, 
只要你抬头臭氧层就会破洞 
要移民火星是为了要离开你, 
如果你的丑陋可以发电的话全世界的核电厂都可以停摆, 
去打仗的话子弹飞弹会忍不住向你飞, 
手榴弹看到你会自爆, 
别人要开飞机去撞双子星才行而你只要跳伞就有同样的威力, 
你去过的名胜全部变古迹,你去过的古迹会变成历史, 
18辈子都没干好事才会认识你,连丢进太阳都嫌不够环保
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,