求一个思路啊。!

huayiluo 2008-11-05 12:07:39
有两个表

种类:Category,有一个子表Category_sub

category里面有
id--name

category_sub里面有
id--name
这里的id引用主表Category.id


那我现在想在页面这样出现!!
种类1
---种类1的子类

种类1
---种类2的子类

我现在是想用Repeater来做,拿到第一个id然后查出第二张表的数据,但是有没有更好的办法???一次拿出来,然后写出来?

可能是一个很傻子的问题, 就是两个for,但是现在不知道为什么,想不到了!!!我傻了
...全文
133 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjjzg 2008-11-05
  • 打赏
  • 举报
回复
这两张表不是有相同的id_name你将他们一下子查出来放到Repeater中不是更省力
hao1hao2hao3 2008-11-05
  • 打赏
  • 举报
回复
两条查询语句放在一个存储过程中。
hao1hao2hao3 2008-11-05
  • 打赏
  • 举报
回复
语句1:select * from category

语句2:select * from category_sub
where category_sub.id_name in
( select distinct category.id_name
from category
group by id_name
)

然后在程序中通过表0 (语句1的结果)的结果来对表1(语句2的结果)的进行选择;
条件是Tables[1].rows[行][“id_name”]=Tables[0].rows[行][“id_name”]
就可以得到结果了,这样描述不知LZ可不可以理解,还请楼下的指正。
5Br 2008-11-05
  • 打赏
  • 举报
回复
数据库
种类表Category
字段:ID int primary key identity(1,1) not null,--主键
CategoryName Nvarchar(200),--种类名称

内容表Category_sub
字段:subID int primary key identity(1,1) not null,--主键
sbuContent Nvarchar(200),--内容
ID int foreign key references Category(ID)--外键


数据源
SQL语句这样写
select * from Category_sub where ID(Category_sub的外键ID)=@ID(Category的主键)

jiang_jiajia10 2008-11-05
  • 打赏
  • 举报
回复
一个表可以搞定
huayiluo 2008-11-05
  • 打赏
  • 举报
回复
好的,谢谢,学到东西。
小_虎 2008-11-05
  • 打赏
  • 举报
回复
我看不太明白问题...先mark下
lfywy 2008-11-05
  • 打赏
  • 举报
回复
用视图可以一次性拿出来
zpcoder 2008-11-05
  • 打赏
  • 举报
回复

直接用一个表就OK了

结构如下:
其中 supId 表示父级目录

id supId categoryName
---------------------------------



具体细现方法:http://topic.csdn.net/u/20080927/14/79c8be6e-8dc3-4467-aef9-71f6071ecc2a.html
风骑士之怒 2008-11-05
  • 打赏
  • 举报
回复
关于显示大类和大类下面的子类问题,我前两天做了个,用TreeView做的,应该可以给你思路。

我有两个表,Category和Product表
Category是分类表,有CategoryId和Name字段
Product是产品表,有ProductId、CategoryId(指向Category的外键)和Name
我的目的是显示分类,并显示每个分类下的产品
结构和你一样:
种类1
---种类1的产品

种类1
---种类2的产品


PetTree.ascx关键代码

<asp:TreeView ID="TreeView1" runat="server" ExpandDepth="0">
</asp:TreeView>

PetTree.ascx.cs关键代码

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BindTree();
}
}
protected void BindTree()
{
DataConn dataconn = new DataConn();
var querysql = from c in dataconn.Category
select c;

foreach (var cust in querysql)
{
//将分类绑定到TreeView父节点中
TreeNode node = new TreeNode();
node.Text = cust.Name;
node.Value = cust.CategoryId.ToString();
node.NavigateUrl = "~/ProcShow.aspx?CategoryId=" + cust.CategoryId.ToString();
TreeView1.Nodes.Add(node);
BindTreeChild(node, cust.CategoryId);
}
}
protected void BindTreeChild(TreeNode tn, int categoryid)
{
//将指定分类下的所有产品绑定到该分类节点下
DataConn dataconn = new DataConn();
var querysql = from c in dataconn.Product
where c.Category.CategoryId == categoryid
select c;
foreach (var cust in querysql)
{
TreeNode Cnode = new TreeNode();
Cnode.Text = cust.Name;
Cnode.Value = cust.ProductId.ToString();
Cnode.NavigateUrl = "~/ProcShow.aspx?ProductId=" + cust.ProductId.ToString();
tn.ChildNodes.Add(Cnode);
}
}

这个是我的Treeview思路,先添加Treeview1的节点,在添加每个节点的同时,调用子方法,添加这个节点下的子节点,这样就可以实现了。希望对你有帮助...=.=
wl__0464 2008-11-05
  • 打赏
  • 举报
回复
guanzhu
gjfizx 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zpcoder 的回复:]

直接用一个表就OK了

结构如下:
其中 supId 表示父级目录

id supId categoryName
---------------------------------
[/Quote]up
jin225 2008-11-05
  • 打赏
  • 举报
回复
repeater 能那样绑定的?
用一
楼的方法吧
w161134025 2008-11-05
  • 打赏
  • 举报
回复
mark
huayiluo 2008-11-05
  • 打赏
  • 举报
回复
我现在要在页面中使用html元素


<ul class="menu" runat="server" id="Menu">
<li><a href="#">种类1</a>
<ul>
<li><a href="#">种类1的子类</a></li>
</ul>
</li>
</ul>


可是在repeater中要怎么做???只要能加入html元素就行

我现在的做法是在load事件中这样

 Menu.InnerHtml = @"<li><a href='#'>Category 1</a><ul>li><a href='#'>Sub category 1a</a></li></ul></li>";


这样的话我就可以了里面写代码了,可是感觉好像不怎么好!!
mingch516548094 2008-11-05
  • 打赏
  • 举报
回复
其实用repeater嵌套也还不错。
Joker_myth 2008-11-05
  • 打赏
  • 举报
回复
写段SQl语句一起查就出来了

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧