我用Repeater控件做了个利用Repeater控件显示主-从关系数据表,显示如:
主:中国,
从:区域(div):北京,
上海,
广州,
当点中国,区域隐藏,在点显示。数据是动态添加。
--------------------------------------------------------
我的部分代码如下:
//js显示和隐藏
<script language="javascript">
function menuChange(menu)
{
if(menu.style.display=="")
{
menu.style.display="none";
}else{
menu.style.display="";
}
}
//数据调用
<table style="WIDTH: 117px; HEIGHT: 62px" cellSpacing="0" cellPadding="0" width="117" align="center" border="0">
<TBODY>
<tr >
<td >
<asp:repeater id="myRep" Runat="server">
<ItemTemplate>
<table>
<tr style="CURSOR:hand">
<td onclick="menuChange(vv);">
<%#DataBinder.Eval(Container.DataItem,"Name")%>
</td>
<td align="right" width="10%">
<img src="images/Left_ico.JPG">
</td>
</tr>
</table>
<table>
<tr>
<td>
<asp:Repeater ID=childmyRep Runat=server datasource='<%#((DataRowView) Container.DataItem).Row.GetChildRows("myrelation") %>'>
<ItemTemplate>
<div id="vv">
<table> <tr> <td> <%#DataBinder.Eval(Container.DataItem,"[\"AreaName\"]")%> </td>
</tr>
</table>
</div>
</ItemTemplate> </asp:Repeater>
</td>
</tr>
</table> </ItemTemplate>
</asp:repeater>
</td>
</tr>
</TBODY>
</table>
----------------------------------
绑定数据可以显示,但显示,隐藏功能不能实现,不知道哪里做错了,有高手可以解答吗?小弟先谢谢!
主:中国,
从:区域(div):北京,
上海,
广州,
当点中国,区域隐藏,在点显示。数据是动态添加。
--------------------------------------------------------
我的部分代码如下:
//js显示和隐藏
<script language="javascript">
function menuChange(menu)
{
if(menu.style.display=="")
{
menu.style.display="none";
}else{
menu.style.display="";
}
}
//数据调用
<table style="WIDTH: 117px; HEIGHT: 62px" cellSpacing="0" cellPadding="0" width="117" align="center" border="0">
<TBODY>
<tr >
<td >
<asp:repeater id="myRep" Runat="server">
<ItemTemplate>
<table>
<tr style="CURSOR:hand">
<td onclick="menuChange(vv);">
<%#DataBinder.Eval(Container.DataItem,"Name")%>
</td>
<td align="right" width="10%">
<img src="images/Left_ico.JPG">
</td>
</tr>
</table>
<table>
<tr>
<td>
<asp:Repeater ID=childmyRep Runat=server datasource='<%#((DataRowView) Container.DataItem).Row.GetChildRows("myrelation") %>'>
<ItemTemplate>
<div id="vv">
<table> <tr> <td> <%#DataBinder.Eval(Container.DataItem,"[\"AreaName\"]")%> </td>
</tr>
</table>
</div>
</ItemTemplate> </asp:Repeater>
</td>
</tr>
</table> </ItemTemplate>
</asp:repeater>
</td>
</tr>
</TBODY>
</table>
----------------------------------
绑定数据可以显示,但显示,隐藏功能不能实现,不知道哪里做错了,有高手可以解答吗?小弟先谢谢!
<script language="javascript">
function menuChange(menu)
{
var dv;
dv = document.getElementById(menu);
if(dv.style.display=="")
{
dv.style.display="none";
}else{
dv.style.display="";
}
}
<td onclick="menuChange(vv);">这里不能直接使用vv,
改成:
<td onclick="menuChange(document.getElementById('vv'));">
2.不同国家下从会重复的DIV,各DIV的ID也应不同。<div id='vv<%#DataBinder.Eval(Container, "RowIndex")%>'> <!--生成每一个国家下的DivID不一样-->
<table>
<tr>
<td>
<asp:Repeater ID=childmyRep Runat=server datasource='<%#((DataRowView) Container.DataItem).Row.GetChildRows("myrelation") %>'>
<ItemTemplate> <table><tr> <td><%#DataBinder.Eval(Container.DataItem,"[\"AreaName\"]")%> </td>
</tr>
</table>
</ItemTemplate></asp:Repeater>
</td>
</tr>
</table>
</div> //调到这里3.<td onclick='menuChange(vv<%#DataBinder.Eval(Container, "RowIndex")%>);'>
4.最后,脚本也要修改。如qiekong(blue) ( ) 所言
function menuChange(menu)
{
var dv;
dv = document.getElementById(menu);
if(dv.style.display=="")
{
或者用<td onclick="menuChange(document.getElementById('vv'));">