想请教各位大侠 在B/S下 一个网页界面下 能不能实现这样的功能
就在一个网页界面上放两个DataGrid (上下各一个)
点击上面一个DataGrid 的每一条记录
下面一个DataGrid 就现在该记录的其它信息(其实 就是一个主从表关系)
可以的话 想麻烦各位大侠提供一些具体的源码(最好是C#语言的)和一些设计思路谢谢了!

解决方案 »

  1.   

    两个思路:1. 用AJAX实现;2. 在后台实现DataGrid的OnClick事件。推荐第1种。
      

  2.   

    给email,我发一个给你参考下。
      

  3.   

    我也求送一个例子来看看Email:[email protected]
      

  4.   

    MSDN帮助文档里:HOWTO:主/详细视图联动更新(具体标题忘了,打开GridView的帮助再多点几下相关链接就出来了)
      

  5.   

    server方法是用itemcommand来动态绑定子Grid
    client方法用ajax来动态生成子grid.
      

  6.   

    在第一个datagrid的itemcommand事件中动态设置第二个datagrid的数据源即可
      

  7.   

    4楼的办法或者是自己写ajax都可以 
      

  8.   

    如果不想刷新网页就用ajax来实现。 
    和下拉菜单联动是一样的。 
    用datagrid的selectindexchanged事件,取得选中行中的主键值,用这个值去数据库检索,
    然后把表绑到datagrid2上就行了。
      

  9.   

    "如果不想刷新网页就用ajax来实现。  
    和下拉菜单联动是一样的。  
    用datagrid的selectindexchanged事件,取得选中行中的主键值,用这个值去数据库检索, 
    然后把表绑到datagrid2上就行了
    。"同意
      

  10.   

    send me Thank you
    [email protected]
      

  11.   

    用第二种方法很简单
    可是ajax怎么做?大虾们能不能给个简单的例子
      

  12.   

    MARK 
      

  13.   

    能实现,我以前做过,但是我做的是C/S,就是在第一个DataGrid 的单击(或双击)事件中写查询语句就可以了,另外字段的绑定容易混,不是太难
      

  14.   

    我最近在研究B/S的帮忙发个谢谢了
    [email protected]
      

  15.   

    datagridview+detailsview就可以实现了
      

  16.   

    19楼说的对的呢,你用detailview多好啊
      

  17.   

    <form id="form1" runat="server">
            
            <div>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                    SelectCommand="SELECT [CustomerID], [CompanyName], [ContactName] FROM [Customers] ORDER BY [CustomerID]">
                </asp:SqlDataSource>
                <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                    DataKeyNames="CustomerID" DataMember="DefaultView" DataSourceID="SqlDataSource1">
                    <Columns>
                        <asp:CommandField ShowSelectButton="True" />
                        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" />
                        <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />
                        <asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />
                    </Columns>
                </asp:GridView>
                <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="true" DataKeyNames="CustomerID"
                    DataMember="DefaultView" DataSourceID="SqlDataSource2" Height="50px" Width="125px">
                </asp:DetailsView>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                    SelectCommand="SELECT [ContactTitle], [ContactName], [CompanyName], [Address], [Country], [Region], [City], [CustomerID] FROM [Customers] WHERE ([CustomerID] = @CustomerID)">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="GridView1" Name="CustomerID" PropertyName="SelectedValue"
                            Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>
                <br />
            </div>
        </form>