首页
新闻
博问
专区
闪存
班级
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Asp.Net技术前瞻--张明Blog
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
GridView模版列嵌套GirdView显示主从表数据
Posted on
2006-09-23 15:23
张明
阅读(
3952
) 评论(
13
)
编辑
收藏
举报
//
前台代码
/**/
/*
当需要在一个列表中显示主从表(例如部门-人员的信息),在asp.net1.1中我们可能会使用DataGrid模版列嵌套DataGrid的方法实现,然而,处理模版列里的DataGrid的翻页、排序、编辑等功能时都比较麻烦。在asp.net2.0中,配合DataSource控件的使用让这个问题变得非常简单!
*/
<%
@ 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.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
"
>
<
html xmlns
=
"
http://www.w3.org/1999/xhtml
"
>
<
head runat
=
"
server
"
>
<
title
>
无标题页
</
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
=
"
部门编号
"
InsertVisible
=
"
False
"
ReadOnly
=
"
True
"
SortExpression
=
"
deptid
"
/>
<
asp:BoundField DataField
=
"
deptname
"
HeaderText
=
"
部门名称
"
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
=
"
人员编号
"
InsertVisible
=
"
False
"
ReadOnly
=
"
True
"
SortExpression
=
"
id
"
/>
<
asp:BoundField DataField
=
"
name
"
HeaderText
=
"
姓名
"
SortExpression
=
"
name
"
/>
<
asp:BoundField DataField
=
"
sex
"
HeaderText
=
"
性别
"
SortExpression
=
"
sex
"
/>
</
Columns
>
<
PagerSettings FirstPageText
=
"
首页
"
LastPageText
=
"
末页
"
Mode
=
"
NextPreviousFirstLast
"
NextPageText
=
"
下一页
"
PreviousPageText
=
"
上一页
"
/>
</
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
=
"
首页
"
LastPageText
=
"
末页
"
NextPageText
=
"
下一页
"
PreviousPageText
=
"
上一页
"
/>
</
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
>
后台代码:
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
public
partial
class
GridSamples_GridView_GirdView :System.Web.UI.Pa
{
protected
void
GridView1_RowDataBound(
object
sender, GridViewRowEventArgs e)
{
if
(e.Row.RowIndex
>
-
1
)
{
AccessDataSource accessDS
=
.Row.FindControl(
"
AccessDataSource2
"
)
as
AccessDataSource;
accessDS.SelectParameters[
"
deptid
"
].DefaultValue
=
e.Row.Cells[
0
].Text;
}
}
}
刷新评论
刷新页面
返回顶部
Powered by:
博客园
Copyright © 2023 张明
Powered by .NET 7.0 on Kubernetes