首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

gridview嵌套datalist解决办法

2012-09-16 
gridview嵌套datalist想在gridview里面嵌套一个datalist,当点击 详情 时,在此行的下面用datalist显示当

gridview嵌套datalist
想在gridview里面嵌套一个datalist,当点击 "详情 "时,在此行的下面用datalist显示当前行的详细信息.这个怎么做啊?

[解决办法]
完整的例子

HTML code
<%@ Page Language="C#" EnableViewState="false" AutoEventWireup="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">      protected void Page_Load(object sender, EventArgs e)    {        if (!Page.IsPostBack)        {            System.Data.DataTable dt = new System.Data.DataTable();            dt.Columns.Add(new System.Data.DataColumn("Id", typeof(System.Int32)));            dt.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String)));            for (int i = 0; i < 8; i++)            {                dt.Rows.Add(new Object[] { i, "孟子章" + i.ToString() });            }            GridView1.DataSource = dt;            GridView1.DataBind();        }    }    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {            String UnitId = DataBinder.Eval(e.Row.DataItem, "Id").ToString();            //这里只是测试,取数据方法可以连接数据库            System.Data.DataTable dt2 = new System.Data.DataTable();            dt2.Columns.Add(new System.Data.DataColumn("DDId", typeof(System.Int32)));            dt2.Columns.Add(new System.Data.DataColumn("Description", typeof(System.String)));            for (int i = 0; i < 8; i++)            {                dt2.Rows.Add(new Object[] { i, "单位id=" + UnitId + "的信息" + i.ToString() });            }            DataList d = e.Row.FindControl("det") as DataList;            d.DataSource = dt2;            d.DataBind();        }    }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">    <title></title>    <script type="text/javascript">        function show(id) {            d = document.getElementById("div" + id);            d.style.display = d.style.display == "none" ? "" : "none";        }    </script></head><body>    <form runat="server">    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">        <Columns>            <asp:TemplateField>                <ItemTemplate>                    <%#Eval("Title") %>                </ItemTemplate>            </asp:TemplateField>            <asp:TemplateField>                <ItemTemplate>                    <a href='' onclick='show(<%#Eval("Id") %>);return false;'>详情</a>                    <div style="display: none" id="div<%#Eval("Id") %>">                        <asp:DataList ID="det" runat="server">                            <ItemTemplate>                                <%#Eval("Description") %>                            </ItemTemplate>                        </asp:DataList>                    </div>                </ItemTemplate>            </asp:TemplateField>        </Columns>    </asp:GridView>    </form></body></html> 

热点排行