麻烦看看这个分页程序,能显示分页的链接而不能分页?

javanow 2001-09-09 04:39:59
<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.SqlClient" %>
<script Language="C#" Runat="Server">
DataSet ds=new DataSet();
public void Page_Load(Object src,EventArgs e)
{

if (!IsPostBack)
{
// Need to load this data only once.
// DataGrid1.DataSource = createDataSource();
// DataGrid1.DataBind();
dataBind();
}

}

public ICollection createDataSource(){
SqlConnection GameCnn = new SqlConnection("Data Source=localhost;user id=dd;password=dd;Initial Catalog=BusinessGame;Connect Timeout=30");
SqlCommand cm = new SqlCommand("prGame_showApplyList1",GameCnn);
cm.CommandType=CommandType.StoredProcedure;

SqlParameter startpage = cm.Parameters.Add("@intstartPage",SqlDbType.Int);
startpage.Value=1;
SqlParameter pagesize = cm.Parameters.Add("@intpagesize",SqlDbType.Int);
pagesize.Value=20;
SqlParameter SomeCharInConfraName=cm.Parameters.Add("@chvSomeCharInConfraName",SqlDbType.VarChar,20);
SomeCharInConfraName.Value="";
SqlParameter Counter = cm.Parameters.Add("@intCounter",SqlDbType.Int);
Counter.Direction=ParameterDirection.Output;
SqlDataAdapter da = new SqlDataAdapter ();
da.SelectCommand=cm;
cm.CommandType=CommandType.StoredProcedure;
GameCnn.Open();
DataSet ds=new DataSet(); //返回 一个20条记录的记录集
da.Fill(ds,"applyList");
return ds.Tables["applyList"].DefaultView;

}

public void dataBind()
{
DataGrid1.DataSource=createDataSource();
DataGrid1.DataBind();
}

public void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e )
{
// DataGrid1.CurrentPageIndex = e.NewPageIndex;

dataBind();
}

</script>

<asp:DataGrid id=DataGrid1
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-HorizontalAlign="Right"
PagerStyle-NextPageText="Next"
PagerStyle-PrevPageText="Prev"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"

Runat="server">

</asp:DataGrid>

</form>
/*
qq: 22547202
谢谢
*/


...全文
153 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
javanow 2001-09-12
  • 打赏
  • 举报
回复
我说的是语法。我的版本是beta 2。
再谢
karma 2001-09-12
  • 打赏
  • 举报
回复
你自己不知道用的是什么?

BETA2应该没问题吧
javanow 2001-09-12
  • 打赏
  • 举报
回复
hotmail?
icq?
我还想问你一句:我上面的程序应该是beta 2的吧。
有人说是beta 1
karma 2001-09-12
  • 打赏
  • 举报
回复
对不起,我没有OICQ
javanow 2001-09-12
  • 打赏
  • 举报
回复
对呀,其实让ado.net 分页我想如有sp 产生小记录集。
非常感谢 你。
你能加我qq吗?
我一个月后就要用asp.net 做项目了。
我有点怕。
karma 2001-09-12
  • 打赏
  • 举报
回复
返回小记录为好,你早先的STORED PROCEDURE实际上是考虑到了这问题,你可以自己产生分页的连接,每个连接传回一个不同的页数,然后传给你的STORED PROCEDURE
javanow 2001-09-12
  • 打赏
  • 举报
回复
不知怎么谢谢你才好 karma(无为) 
我常常忘记加<form>了
所以没有产生那个 doPostBack javascript函数
我已经成功分好页了。
只是我是产生一个大的记录集("select * from applylist")
这样好还是我用一个游标返回 一个小记录集好呢?(只返回一个20条记录的记录集)
非常感谢
晚上我给再加分吧.
qq: 22547202
karma 2001-09-12
  • 打赏
  • 举报
回复
从结构上看(因为我没你的数据,所以没法试验),你最先在createDataSource里的用法没问题啊,如果你改正我上面提到的两个问题的话,就应该可以通过了
javanow 2001-09-12
  • 打赏
  • 举报
回复
谢谢 karma(无为)
这样我知道调用,
只是我想知道怎么放到 DataGrid 里面去.
而且要分页。
karma 2001-09-11
  • 打赏
  • 举报
回复
beta 2 直接从stored procedure 中的例子:

SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind");

SqlCommand salesCMD = new SqlCommand("SalesByCategory", nwindConn);
salesCMD.CommandType = CommandType.StoredProcedure;

SqlParameter myParm = salesCMD.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15);
myParm.Value = "Beverages";

nwindConn.Open();

SqlDataReader myReader = salesCMD.ExecuteReader();

Console.WriteLine("{0}, {1}", myReader.GetName(0), myReader.GetName(1));

while (myReader.Read())
{
Console.WriteLine("{0}, ${1}", myReader.GetString(0), myReader.GetDecimal(1));
}

myReader.Close();
nwindConn.Close();
///////////////

and

http://www.csdn.net/expert/topic/224/224171.shtm
karma 2001-09-11
  • 打赏
  • 举报
回复
1.去掉注释
// DataGrid1.CurrentPageIndex = e.NewPageIndex;
2.add
<form name="from1" runat="server">
before
<asp:DataGrid ...
javanow 2001-09-09
  • 打赏
  • 举报
回复
都没作用。
第一页可以显示出来 。
就是不能分页。
谁有beta 2 直接从stored procedure 中的例子,能贴出来吗?
一定送分
standey 2001-09-09
  • 打赏
  • 举报
回复
public void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e )
{
// DataGrid1.CurrentPageIndex = e.NewPageIndex;

dataBind();
}
将注释去掉试试!
你这是Beta1的程序,用起来不爽,劝你用Beta2吧。
niwalker 2001-09-09
  • 打赏
  • 举报
回复
将DataBind()的第一行代码移到Page_Load()中的if(...)块中试试。

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧