`

asp.net 2.0中显示主从关系另一个方法

    博客分类:
  • .NET
阅读更多

  一般是在asp.net 2.0中,是用master-detail的关系来显示数据的,显示的办法也很多,但今天
看书发现一个,是在同一个gridview里,搭配bulletedlist来显示的。关键部分如下,同时也有用了ajax
<asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
                        AutoGenerateColumns="False" DataKeyNames="类别编号" DataSourceID="SqlDataSource1"
                        Width="696px" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px"
                        CellPadding="4" PageSize="2" OnRowDataBound="GridView1_RowDataBound">
                        <Columns>
                            <asp:BoundField DataField="类别编号" HeaderText="类别编号" InsertVisible="False" ReadOnly="True"
                                SortExpression="类别编号" />
                            <asp:BoundField DataField="类别名称" HeaderText="类别名称" SortExpression="类别名称" />
                            <asp:BoundField DataField="说明" HeaderText="说明" SortExpression="说明" />
                            <asp:TemplateField HeaderText="产品清单">
                                <ItemTemplate>
                                    <asp:BulletedList ID="BulletedList1" runat="server" DataTextField="产品" DataValueField="产品">
                                    </asp:BulletedList>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
                        <RowStyle BackColor="White" ForeColor="#330099" />
                        <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
                        <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
                        <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
                    </asp:GridView>
                    <i>您当前正在查看的页码:<b><font color="#ff0000"><%=GridView1.PageIndex + 1%>
                        /
                        <%=GridView1.PageCount%>
                    </font></b></i>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:chtNorthwind %>"
                        SelectCommand="SELECT [类别编号], [类别名称], [说明] FROM [产品类别]"></asp:SqlDataSource>
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:chtNorthwind %>"
                        SelectCommand="SELECT [产品], [类别编号] FROM [产品资料]"></asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
其中用到了两个sqldatasource,一个是选择产品类别,另一个是从产品表中取出产品。
然后在后端代码中,如下处理

DataView MyDataView;

    protected void Page_Load(object sender, EventArgs e)
    {
        MyDataView = (DataView)(this.SqlDataSource2.Select(DataSourceSelectArguments.Empty));
    }

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            BulletedList bl = (BulletedList)(e.Row.FindControl("BulletedList1"));
            MyDataView.RowFilter = "类别编号 = " + ((DataRowView)(e.Row.DataItem))["类别编号"].ToString();
            bl.DataSource = MyDataView;
            bl.DataBind();
        }

   首先从产品表中选出数据集,形成一个dataview,然后在gridview的rowdatabound事件中,
先找出bulledlist控件,然后利用dataview的rowfilter属性,过滤出对应类别的产品,再绑定到具体的datasource控件

分享到:
评论

相关推荐

    【ASP.NET编程知识】ASP.NET 2.0中的数据操作之七:使用DropDownList过滤的主从报表.docx

    在ASP.NET 2.0中,开发主从报表是展示数据关系的重要方式,特别是在处理一对多的关系时,如一个类别对应多个产品。主从报表允许用户通过选择主记录(如类别)来查看其对应的详细子记录(如产品)。本教程将介绍如何...

    在ASP.NET 2.0中操作数据:使用GridView 和DetailView实现的主-从报表(源码)

    在ASP.NET 2.0中操作数据:使用GridView 和DetailView实现的主-从报表(源码)

    ASP.NET2.0数据指南中文01

    5. **主从报表**:"08 使用两个DropDownList过滤的主从报表.doc"和"09 跨页面的主从报表.doc"讲述了如何利用ASP.NET控件创建和展示主从关系的数据,例如使用DropDownList和GridView控件实现联动筛选和显示详细信息。...

    ASP.NET2.0数据指南中文02

    ASP.NET 2.0 数据指南中文版是一份深入解析ASP.NET 2.0框架中数据处理技术的经典资料,涵盖了各种数据绑定控件的使用方法和优化策略。此资源包括多个文档,详细阐述了如何在ASP.NET 2.0环境下有效地管理和操作数据。...

    在ASP.NET 2.0中操作数据之三十四:基于DataList和Repeater跨页面的主/从报表

     在前面一章里我们学习了如何在一个页里显示主/从信息.另外一种经常使用的模式就是将主从信息用两个页分别显示.在前面的跨页面的主/从报表 我们通过GridView显示所有的supplier来使用这个模式.GridView里包含一个...

    ASP.NET 2.0中的数据操作之八:使用两个DropDownList过滤的主/从报表

    2.主从报表:在数据操作中,主从报表通常用来显示一对多关系的数据,即一个主项下可以有多个从项。例如,客户与订单的关系,一个客户可以有多个订单。本文通过主从报表的模式展示产品分类与具体产品的信息。 3....

    ASPNET2.0版生产制程系统

    【ASP.NET 2.0版生产制程系统】是一个基于微软.NET Framework 2.0开发的Web应用程序,它集成了ASP.NET技术与AJAX(Asynchronous JavaScript and XML)功能,用于实现高效的生产流程管理和监控。这个系统展示了如何...

    [翻译]Scott Mitchell 的ASP.NET 2.0数据教程

    *** 2.0是微软推出的一个功能强大的Web应用程序框架,它集成了数据访问、用户界面、安全性及站点导航等众多功能。Scott Mitchell是知名的***技术作家,他的系列教程详细介绍了如何使用*** 2.0进行数据操作和Web开发...

    asp.net

    **2.1 ASP.NET 2.0 新特性** - **Web 缓存依赖(SQL Cache Dependency):** 这是一项新的缓存技术,允许缓存项依赖于 SQL Server 中的数据,当数据发生变化时,相关的缓存项会被自动清除。 - **数据源控件:** 如 ...

    Vs2005下GridView演示多层Demo_vs2005sample.zip

    GridView控件是ASP.NET Web Forms中的一个重要组成部分,它提供了强大的数据绑定和显示功能,用于呈现来自数据库或其他数据源的数据。在Vs2005sample.zip压缩包中包含的“其他类别”文件,很可能是项目文件或源代码...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    MongoDB开发使用手册包含LINUX/WINDOWS下面安装使用开发的详细介绍

    这些系统往往由Apache + MySQL + PHP、IIS + ASP + SQL Server、IIS + ASP.NET + SQL Server或TOMCAT + JSP + Oracle等组合构成。 - **博客与去中心化网站**:Web 2.0时代的到来催生了博客等去中心化网站。这些网站...

Global site tag (gtag.js) - Google Analytics