簡體   English   中英

內部網格未在嵌套gridview中顯示數據

[英]Inner grid is not displaying data in nested gridview

<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中搜索的所有內容,而IAM發布的代碼均來自google。 我的問題是,當我單擊菜單按鈕時,內部網格顯示空白。 (甚至還有我的代碼)。任何人都可以說我在哪里出錯了。

更改了div.style.display =“ inline”; 到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>

我不得不從div.style.display = "inline"; div.style.display = "inline-table"; 因為div沒有使用divexpandcollapse函數保留寬度值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM