gridview1 里嵌套gridview2<gridview1 ..........datasource=objectsouce1 <temp....
gridview2...........datasource=objectsouce2
</temp....
gridview2绑定的数据源里没有属性 AAA
而gridview2所在的gridview1的数据源里有AAA要问的问题是gridview2里怎么取gridview1数据源的属性AAA
gridview2...........datasource=objectsouce2
</temp....
gridview2绑定的数据源里没有属性 AAA
而gridview2所在的gridview1的数据源里有AAA要问的问题是gridview2里怎么取gridview1数据源的属性AAA
解决方案 »
- 打开VS2005提示这样的错误 着急啊
- GridView里的button栏位调用后台代码?
- 如何在TreeView中的checked选中后,在JS中得到该节点的值 并添加到listbox中
- 请问这是什么技术有什么好处
- ASP.NET Ajax 里怎么调用JS函数?
- 帮忙:急...为什么我的VS2003中的项目依赖项设置不能保存......
- 100分求解RadiobuttonList绑顶问题!
- 我想在子窗体的Button_Clik事件中调用databind()函数,怎么做呀?
- 到哪里能找到有关正则表达式的教程?
- 难题,难死我了!急!急!急!
- 调试ASP。NET出现如下没见过的错误。。郁闷中。。。。 望大虾救命
- 留言板 制作疑问
http://eddie005.cnblogs.com/archive/2006/07/04/442845.aspx
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
//取得当前绑定行的数据
DataRowView rv = (DataRowView)e.Row.DataItem;
string aaa = rv["AAA"].ToString(); GridView gw2 = (GridView)e.Row.FindControl("GridView2"); /*在这里,可以通过编码方式声明datasource2的参数
参见:http://eddie005.cnblogs.com/archive/2006/06/27/SetParameters.html*/
}
}
<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="deptre" HeaderText="备注" SortExpression="deptre" />
<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], [deptre], [createdate] FROM [departments]">
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class GridSamples_GridView_GirdView : System.Web.UI.Page
13{
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}这样的话是不是要查询多次数据库?
但这也不见得一定效率高,应该lz的两个GridView都可能会分页显示,例如GridView1第一页只显示5个部门,每个部门里GridView2也只显示第一页的5人,显然没有必要把所有数据都查询出来(所有人员可能是几千或几万)当然,具体情况还是要通过性能测试去检验一下
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
//取得当前绑定行的数据
DataRowView rv = (DataRowView)e.Row.DataItem;
string aaa = rv["AAA"].ToString(); GridView gw2 = (GridView)e.Row.FindControl("GridView2"); /*在这里,可以通过编码方式声明datasource2的参数
参见:http://eddie005.cnblogs.com/archive/2006/06/27/SetParameters.html*/
}
}
更适合我,不过烦了点,这里是gridview1访问gridview2能不能通过gridview2来访问gridview1?