DataList的多层嵌套

wangsaokui 2003-11-24 08:16:27
DataList控件可以嵌套,但参看例子,只有一层,原理大多是设置父子表之间的关系,改变子datalist的datasource属性与关系对应,现有一dataset,包含多个datatable,各datatable之间有树状层级关系,比如table1包含a;table2包含a,b;table3包含a,b,c;table4包含a,b,c,d....如何实现这个datalist?
databind时父表数据好象只能唯一,但不知道设置关系时如何设置两个表的多个列作为关系。
...全文
126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsaokui 2003-11-25
  • 打赏
  • 举报
回复
To:chegan 你提供的例子只有两层,只不过通过函数返回dataview或一个数据集,多层没有讲,也不知道如何套用
To:openid 谢谢你的例子,通过函数可以返回数据集,这给了我很大的启发,所以解决方案有两种:
1、我可以在创建数据集的时候就fill所有的datatables,也可以在设计时创建这些datatable之间的关系,然后databind第一个datalist就可以实现了,但程序动态创建关系我还没写,不知道是不是先写一列加入关系A,然后再写一列加入相同的关系A。
2、采用函数返回数据集,每个datatable都以前一个datatable的一列或几列作为条件,但必须包含之前所有datatable的关系列,因为只有这样,才能在最后一层得到包含所有父系的参数,然后设置各datalist的datasource为各函数,databind最上层的datalist。
谢谢各位!马上加分
monkeys 2003-11-24
  • 打赏
  • 举报
回复
up
lyhold 2003-11-24
  • 打赏
  • 举报
回复
关注!
chegan 2003-11-24
  • 打赏
  • 举报
回复
http://dking.dynip.com/Home/ASPX/0001.aspx
不知道能不能解决你的问题
wangsaokui 2003-11-24
  • 打赏
  • 举报
回复
不完全一样,楼上的表CATEGORY与表PRODUCT有关系,但表PRODUCT-LIST与表CATEGORY没有关系,我的table3中的数据与前两表都有关系,你的代码我会试试,把GetProductList的参数改为两个,但最后一层的超级链接如何写又是一个麻烦。
openid 2003-11-24
  • 打赏
  • 举报
回复
你定义数据表字段的方式很奇怪,你想表达的是不是这个意思:
表CATEGORY有个主键字段category_id;
表PRODUCT有外键字段product_id(链接CATEGORY)和主键字段product_id;
表PRODUCT-LIST,有外键字段product_id和PRODUCT链接;

这样可实现你的嵌套内容:
<asp:datalist id="category" runat="server">
<itemplate>...//用DataBinder.Eval()绑定第一层内容;
<asp:Datalist id="product" runat="server"
datasource='<%#GetProduct((int)DateBinder.Eval(Container.DataIem,"category_id"))%>' >
<itemplate>.../用DataBinder.Eval()绑定第二层内容;/
<asp:DataList id="productlist" runat="server" datasource=..//跟上面一样,写入一个函数GetProductList()>

</datalist>
</itemplate>
</Datalist>
</itemplate>
</datalist>

注意:
GetProduct(int category_id)和GetProductList(int product_id)都返回DataView类型,函数主体写入读取数据库的语句,其中GetProduct()的cmd.SelectString="select * from product where category_id='"+category_id+"'";GetProductList()也是一样,懂了吗?
不懂给我消息
大可山人 2003-11-24
  • 打赏
  • 举报
回复
我也有类似的问题:
http://expert.csdn.net/Expert/topic/2480/2480397.xml?temp=.6850244

另外:
http://expert.csdn.net/Expert/topic/2488/2488495.xml?temp=.6714289

62,046

社区成员

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

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

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

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