日期:2014-05-17  浏览次数:20423 次

asp.net中求GridView与DetailView的结合使用方法
asp.net中GridView与DetailView都要是后台绑定数据,且是用带参存储过程去绑定数据的。实现主从表的效果,gridview只显示ID,名称和类别,当选中某行时detailview显示该行的详细信息,求大神帮忙
asp.net gridview 数据 存储 detailview

------解决方案--------------------
何必用DetailView呢,直接在TemplateField显示详细信息不就行了,例如
<asp:GridView runat="server" ID="gv" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="EmployeeID" HeaderText="ID" />
        <asp:TemplateField HeaderText="个人信息">
            <ItemTemplate>
                <p>名:<%# Eval("FirstName") %></p>
                <p>姓:<%# Eval("LastName") %></p>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

------解决方案--------------------
引用:
何必用DetailView呢,直接在TemplateField显示详细信息不就行了

楼主说的应该是Gridview里只显示2、3列,然后DetailView才显示整张表的内容吧
------解决方案--------------------
恩,确实是我理解错了,重新写了demo,比较粗糙,楼主借鉴下
<asp:GridView runat="server" ID="gv" AutoGenerateColumns="false" 
    OnRowCommand="OnSelected" DataKeyNames="EmployeeID">
    <Columns>
        <asp:ButtonField ButtonType="Button" CommandName="select" Text="select" />
        <asp:BoundField DataField="EmployeeID" />
        <asp:BoundField DataField="LastName" />
    </Columns>
</asp:GridView>
<br />
<asp:DetailsView runat="server" ID="dv">
</asp:DetailsView>
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string strConn = WebConfigurationManager.ConnectionStrings["Northwind"].ToString();
        SqlConnection conn = new SqlConnection(strConn);

        SqlCommand comm = new SqlCommand();
        comm.Connection = conn;
        comm.CommandText = "select * from Employees";

 &nb