效果类似于:
AAA
aaa1
aaa2
aaa3
BBB
bbb1
CCC
ccc1
ccc2
ccc3
ccc4
二级主从,要求里面和外面的datagrid都实现分页 。
搞了几个星期没搞店,郁闷死了,主要是分页问题 ,有谁弄过指点指点呀,用别的方法也行,
相同效果就行。
AAA
aaa1
aaa2
aaa3
BBB
bbb1
CCC
ccc1
ccc2
ccc3
ccc4
二级主从,要求里面和外面的datagrid都实现分页 。
搞了几个星期没搞店,郁闷死了,主要是分页问题 ,有谁弄过指点指点呀,用别的方法也行,
相同效果就行。
解决方案 »
- 数字、字母 ASC码互相转换? 在线等
- object 标签选中问题
- 问个效率问题,查找在一个表中存在而另一个表中不存在的问题
- IE打不开Menu问题....
- 在线等待:关于Masterpage中图片的相对路径问题,但是不能显示
- 问了好几遍了,没人正确回答我.验证控件问题.
- session和hashtable实现购物车中如何实现删除操作,谢谢!
- 大家进来看看,哪位兄弟做过这方面的研究?
- 用VBScript写的防止用户输入为空的问题。
- 菜問題:我裝的是sdk英文版的,現在我的quickstart是英文版的,怎嗎才能看到簡體中文尼,我的e文不算太好!
- 格式化字符串的问题
- VS.NET2005是不是自带SQL Server 2005吗?(急)
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;//这是分页效果!!!
//如果你的数据是从数据库中查询出来的,在着再次调用查询,因为分页的时候刷新页面原来查询的内容会丢失,所以在这再次查询,才能够在第二页上看到数据
}
datagrid的分页就这样了.别的帮不上了
<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True" PageSize="3"></asp:DataGrid>
*************************************
namespace bsTest2005_8_16.Samples
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls; /// <summary>
/// DataGrid嵌套DataGrid_C 的摘要说明。
/// </summary>
public class DataGrid嵌套DataGrid_C : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
} public string DataParentID
{
get
{
if(ViewState[this.ClientID + "_ParentID"] !=null)
return ViewState[this.ClientID + "_ParentID"].ToString();
else
return string.Empty;
}
set
{
ViewState[this.ClientID + "_ParentID"] = value;
this.BindGrid(value);
}
} private void BindGrid(string parentID)
{
//这里只是模拟一些测试数据,实际应用是根据parentID从数据库读取数据
DataTable dt1 = new DataTable();
dt1.Columns.Add("id");
dt1.Columns.Add("name");
dt1.Columns.Add("author");
dt1.Columns.Add("re");
for(int i=1;i<20;i++)
dt1.Rows.Add(new object[]{i,"AAA"+i.ToString(),"BBB"+i.ToString(),(i*i).ToString()});
this.DataGrid1.DataSource = dt1;
this.DataGrid1.DataBind();
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
this.BindGrid(this.DataParentID);
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
这个应该是你想要的结果吧
<%@ Register TagPrefix="uc1" TagName="DataGrid嵌套DataGrid_C" Src="DataGrid嵌套DataGrid_C.ascx" %>
<%@ Page language="c#" Codebehind="DataGrid嵌套DataGrid.aspx.cs" AutoEventWireup="false" Inherits="bsTest2005_8_16.Samples.DataGrid嵌套DataGrid" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>DataGrid嵌套DataGrid</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"
AllowPaging="True" PageSize="5" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<uc1:DataGrid嵌套DataGrid_C id="DataGrid嵌套DataGrid_C1" runat="server"></uc1:DataGrid嵌套DataGrid_C>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</HTML>
***********************************
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace bsTest2005_8_16.Samples
{
/// <summary>
/// DataGrid嵌套DataGrid 的摘要说明。
/// </summary>
public class DataGrid嵌套DataGrid : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
//这里只是模拟一些测试数据,实际应用是从数据库读取主表数据
DataTable dt1 = new DataTable();
dt1.Columns.Add("id");
dt1.Columns.Add("name");
dt1.Columns.Add("author");
dt1.Columns.Add("re");
for(int i=1;i<20;i++)
dt1.Rows.Add(new object[]{i,"AAA"+i.ToString(),"BBB"+i.ToString(),(i*i).ToString()});
this.DataGrid1.DataSource = dt1;
this.DataGrid1.DataBind();
}
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemIndex>-1)
{
DataRowView tmp = e.Item.DataItem as DataRowView;
string dataParentID = tmp["id"].ToString(); DataGrid嵌套DataGrid_C ctol = e.Item.Cells[0].Controls[1] as DataGrid嵌套DataGrid_C;
ctol.DataParentID = dataParentID;
}
} private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
this.BindGrid();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
http://dotnet.aspx.cc/ShowDetail.aspx?id=54F4C732-AAE2-4135-FB1B-7B4B613BAA33
搞的我前两天的世界杯都没心情看,555555555555