我如何表示一组;拥有并属于许多人;HTML中的自相关项?
我正在开发一个RubyonRails系统,它有一个我如何表示一组;拥有并属于许多人;HTML中的自相关项?,html,markup,directed-acyclic-graphs,Html,Markup,Directed Acyclic Graphs,我正在开发一个RubyonRails系统,它有一个项目表,表中有一个与自身有很多关系(循环关系是不可能的)。通过这种方式,一个项目可以是多个其他项目的一部分,这非常有用,并且是新应用程序所基于的遗留系统的一个杀手级功能。我需要一种方法,在一个页面上显示所有项目及其名称、短名称,以及其他简单属性。每个项目都必须相对于其父项目显示(可以使用重复条目),并且浏览器必须将每个属性值与每个其他属性对齐(没有任何一个“静态宽度”始终中断)。项目也必须是可折叠的,尽管我怀疑这与解决方案无关 当前的解决方案与解
项目
表,表中有一个与自身有很多关系(循环关系是不可能的)。通过这种方式,一个项目可以是多个其他项目的一部分,这非常有用,并且是新应用程序所基于的遗留系统的一个杀手级功能。我需要一种方法,在一个页面上显示所有项目及其名称
、短名称
,以及其他简单属性。每个项目都必须相对于其父项目显示(可以使用重复条目),并且浏览器必须将每个属性值与每个其他属性对齐(没有任何一个“静态宽度”始终中断)。项目也必须是可折叠的,尽管我怀疑这与解决方案无关
当前的解决方案与解决方案类似:使用
并通过使用CSS填充左侧
在最左边的列中实现“树状”结构。通过存储每个项目的父项目ID来保持完整的父子关系。因为这不是语义标记,所以很难用JavaScript处理结果表。如果要折叠节点,则必须遍历折叠节点之后的每个
,直到在同一级别上找到一个节点,而不仅仅是删除子节点列表。此外,还多次显示了几个项目
有没有一种语义方法可以在HTML(任何版本)中表示这样的数据结构,而不牺牲合理地设置样式的所有能力?据我所知,表格列表无法正确对齐,而且无法将列表与表格混合
我不是在用ruby或ruby on rails做标记,因为编程语言与任务无关,只是为了解释现有系统的结构。你可以把列表和表格混在一起……你的帖子有点难理解,我肯定一张图会有帮助,但从我能从中吸取的东西来看,如果可以的话,我会尽力帮忙
<table>
<tr>
<% obj1.each do |o1| %>
<td>
<ul id="tree_<%= o1.id %>">
<% obj2.each do |o2| %>
<li><%= o2.name %></li>
<% end %>
</ul>
</td>
<% end %>
</tr>
</table>
然后,您可以只隐藏指定ul.tree的列
也许我误解了你的需要,但我希望这能有所帮助!:)
加油 进入
后,如何为子对象创建
?我认为这是不可能的。你不需要,你使用ul来控制你的行,表格本身只为你创建列结构…每个构成一行的一个单元格,取代了对的需要,但每行有多个列-我如何使它们对齐?每一列()都是它自己的,为您的应用程序提供一系列列。行中的每个单元格都在- 中表示……我不知道具体显示的是什么数据,因此我不知道一行中的一个单元格与下一个单元格应该如何关联,但如果它们需要内联,您可以设置
- 的样式以容纳数据。