|
當(dāng)需要在一個(gè)列表中顯示主從表(例如部門(mén)-人員的信息),在asp.net1.1中我們可能會(huì)使用DataGrid模版列嵌套DataGrid的方法實(shí)現(xiàn),然而,處理模版列里的DataGrid的翻頁(yè)、排序、編輯等功能時(shí)都比較麻煩。在asp.net2.0中,配合DataSource控件的使用讓這個(gè)問(wèn)題變得非常簡(jiǎn)單!
![]() <% @ Page Language="C#" AutoEventWireup="true" CodeFile="GridView_GirdView.aspx.cs" Inherits="GridSamples_GridView_GirdView" %>![]() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">![]() <html xmlns="http://www./1999/xhtml" > <head runat="server"> <title>無(wú)標(biāo)題頁(yè)</title> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="deptid" DataSourceID="AccessDataSource1" AllowPaging="True" AllowSorting="True" PageSize="2" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="deptid" HeaderText="部門(mén)編號(hào)" InsertVisible="False" ReadOnly="True" SortExpression="deptid" /> <asp:BoundField DataField="deptname" HeaderText="部門(mén)名稱" SortExpression="deptname" /> <asp:BoundField DataField="deptremark" HeaderText="備注" SortExpression="deptremark" /> <asp:TemplateField HeaderText="人員信息"> <ItemTemplate> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="AccessDataSource2" AllowPaging="True" AllowSorting="True" PageSize="5"> <Columns> <asp:BoundField DataField="id" HeaderText="人員編號(hào)" InsertVisible="False" ReadOnly="True" SortExpression="id" /> <asp:BoundField DataField="name" HeaderText="姓名" SortExpression="name" /> <asp:BoundField DataField="sex" HeaderText="性別" SortExpression="sex" /> </Columns> <PagerSettings FirstPageText="首頁(yè)" LastPageText="末頁(yè)" Mode="NextPreviousFirstLast" NextPageText="下一頁(yè)" PreviousPageText="上一頁(yè)" /> </asp:GridView> <asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/App_Data/test.mdb" SelectCommand="SELECT [id], [name], [sex], [deptid] FROM [employees] WHERE ([deptid] = ?)"> <SelectParameters> <asp:Parameter Name="deptid" Type="Int32" /> </SelectParameters> </asp:AccessDataSource><br> </ItemTemplate> </asp:TemplateField> </Columns> <PagerSettings FirstPageText="首頁(yè)" LastPageText="末頁(yè)" NextPageText="下一頁(yè)" PreviousPageText="上一頁(yè)" /> </asp:GridView> <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/test.mdb" SelectCommand="SELECT [deptid], [deptname], [deptremark], [createdate] FROM [departments]"> </asp:AccessDataSource> </div> </form> </body> </html>![]() 1
using System;2 using System.Data;3 using System.Configuration;4 using System.Collections;5 using System.Web;6 using System.Web.Security;7 using System.Web.UI;8 using System.Web.UI.WebControls;9 using System.Web.UI.WebControls.WebParts;10 using System.Web.UI.HtmlControls;11 ![]() 12 public partial class GridSamples_GridView_GirdView : System.Web.UI.Page13 ![]() ![]() {14 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)15 ![]() {16 if (e.Row.RowIndex > -1)17 ![]() {18 AccessDataSource accessDS = e.Row.FindControl("AccessDataSource2") as AccessDataSource;19 accessDS.SelectParameters["deptid"].DefaultValue = e.Row.Cells[0].Text;20 }21 }22 } |
|
|
來(lái)自: 素行 > 《網(wǎng)站開(kāi)發(fā)》