<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" language="javascript">
function divexpandcollapse(divname) {
var div = document.getElementById(divname);
var img = document.getElementById('img' + divname);
if (div.style.display == "none") {
div.style.display = "inline";
img.src = "../kjl_images/closed.gif";
} else {
div.style.display = "none";
img.src = "../kjl_images/open.gif";
}
}
</script>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"
runat="Server">
<div>
<asp:GridView ID="gvParentGrid" runat="server" DataKeyNames="hatchid"
Width="300"AutoGenerateColumns="false"
OnRowDataBound="gvUserInfo_RowDataBound" GridLines="None"
BorderStyle="Solid" BorderWidth="1px" BorderColor="#df5015">
<Columns>
<asp:TemplateField ItemStyle-Width="20px">
<ItemTemplate>
<a href="JavaScript:divexpandcollapse('div<%# Eval("hatchid") %>');">
<img id="imgdiv<%# Eval("hatchid") %>" width="9px" border="0"
src="../kjl_images/closed.gif" alt="" />
</a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="hatchid" HeaderText="Hatch ID" />
<asp:BoundField DataField="hatcheryname" HeaderText="Hatchery Name" />
<asp:TemplateField>
<ItemTemplate>
<tr>
<td colspan="100%">
<div id="div<%# Eval("hatchid") %>" style="display: none;
position: relative; left: 15px; overflow: auto">
asp:GridView ID="gvChildGrid" runat="server"
AutoGenerateColumns="false" BorderStyle="Double"
BorderColor="#df5015" GridLines="None" Width="250px">
<Columns>
<asp:BoundField DataField="hatchid" HeaderText="Region"/>
<asp:BoundField DataField="name" HeaderText="Name"/>
</Columns>
</asp:GridView>
</div>
</td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
此处.CS代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillHatcheryGridDetails();
}
}
public void FillHatcheryGridDetails()
{
DataTable dthatcherygrid = new DataTable();
dthatcherygrid = objhatcheryBAL.GetChickGridsdet();
gvParentGrid.DataSource = dthatcherygrid;
gvParentGrid.DataBind();
}
protected void gvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView GridView2 = (GridView)e.Row.FindControl("gvChildGrid");
int hatchid = Convert.ToInt16(e.Row.Cells[1].Text);
DataTable dtRegions = new DataTable();
objhatcheryPL.hatchid = hatchid;
dtRegions = objhatcheryBAL.GetHatchidDetaisl(objhatcheryPL);
GridView2.DataSource = dtRegions;
GridView2.DataBind();
}
}
我尝试了在Google搜索的所有内容,我发布的代码来自谷歌。 我的问题是当我点击菜单按钮时内部网格显示为空白。 (即使我的代码也是如此)。任何人都可以说我哪里出错了。
答案 0 :(得分:2)
更改了div.style.display =“inline”; to div.style.display =“block”;
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" language="javascript">
function divexpandcollapse(divname) {
var div = document.getElementById(divname);
var img = document.getElementById('img' + divname);
if (div.style.display == "none") {
div.style.display = "block";
img.src = "../kjl_images/closed.gif";
} else {
div.style.display = "none";
img.src = "../kjl_images/open.gif";
}
}
</script>
答案 1 :(得分:0)
我必须从div.style.display = "inline";
更改为div.style.display = "inline-table";
因为div没有使用divexpandcollapse
函数