在通过asp:Repeater生成的表中实现可折叠条目的最简单方法?
时间:2020-03-05 18:57:12 来源:igfitidea点击:
在没有人建议完全删除表格标签之前,我只是在修改大型系统的这一部分,因此修改表格结构(应用程序中填充了相似的表格)对我来说确实不是明智的。
这是C.NET中的Web应用程序,数据来自Web服务,并显示在屏幕上的表格中。该表的行是使用asp:Repeaters生成的,因此这些行的交替颜色很好。该表以前每行保存一项数据。现在,基本上,该表具有子标题...第一行是日期,第二行显示一行数据,所有接下来的行都是数据行,直到输入新日期的数据为止,在这种情况下将是另一个子标题行。
起初,我以为我可以作弊,并很容易地做到这一点,以保持当前的转发器结构。我只需要向一些单元格提供空字符串,这样就不会出现任何数据。但是,现在,我们正在考虑每个日期旁边的+ /折叠符之一,以便它们可以折叠所有数据。当按下按钮时,我立即想到隐藏行...但是我不知道如何从后面的代码中隐藏行,除非该行具有唯一的ID,并且我不确定是否可以使用中继器来做到这一点。 。
我希望我已经很好地表达了这个问题。我确定我会找到TBH的方法,但是我只是在slashdot上看到了这个站点,并以为我会旋转一下:)
解决方案
回答
在数据绑定事件中构建行时,可以使用数据字段的ID或者用于使其唯一的其他方式添加唯一标识符。
然后,如果要在开始时用数据填充折叠,可以使用客户端方法来展开折叠,从而在Javascript中切换表格行元素的style.display设置。
回答
只需将项目模板的内容包装在asp:Panel中,就可以拥有唯一的ID。然后加入一些jQuery的一些香料;)
编辑:刚注意到我们正在使用一个表。将ID放在行上。然后切换。