这个分页控件怎么用啊,还差一点点,请赐教

我看你有戏 2006-10-05 03:05:29

为什么我点击连接,页面的内容不会变的,该如何解决啊谢谢

代码太多了,发不了

代码在此:
http://www.dj9158.com/ShowFileData.aspx?ID=56
...全文
222 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
szc21 2006-10-07
  • 打赏
  • 举报
回复
不需要写分页代码的,你点分页后,页面会传递几个参数对本页进行post,然后存储过程接收,再呈现出来,主要看你存储过程是否正确.
levin9 2006-10-07
  • 打赏
  • 举报
回复
up
深度Java 2006-10-05
  • 打赏
  • 举报
回复
补充

BindGrid()里要调用
ShowStats();的
深度Java 2006-10-05
  • 打赏
  • 举报
回复
我们用的 很好用
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
btnFirst.Text = "最首页";
btnPrev.Text = "前一页";
btnNext.Text = "下一页";
btnLast.Text = "最后页";

}
}

private void ShowStats()
{
lblCurrentIndex.Text = "当前第<span style='COLOR: #ff0000'>" + (drg_flow.CurrentPageIndex + 1).ToString() + "</span>页";
lblPageCount.Text = "总共<span style='COLOR: #ff0000'>" + drg_flow.PageCount.ToString() + "</span>页";


if(drg_flow.PageCount==1)
{
btnFirst.Enabled=false;
btnPrev.Enabled=false;
btnNext.Enabled=false;
btnLast.Enabled=false;
}
else
{

if(drg_flow.CurrentPageIndex==0)
{
btnFirst.Enabled=false;
btnPrev.Enabled=false;
btnNext.Enabled=true;
btnLast.Enabled=true;
}

else if(drg_flow.CurrentPageIndex==(drg_flow.PageCount-1))
{
btnFirst.Enabled=true;
btnPrev.Enabled=true;
btnNext.Enabled=false;
btnLast.Enabled=false;
}
else if(drg_flow.CurrentPageIndex<(drg_flow.PageCount-1)&&drg_flow.CurrentPageIndex>0)
{
btnFirst.Enabled=true;
btnPrev.Enabled=true;
btnNext.Enabled=true;
btnLast.Enabled=true;
}
}
}

public void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch(arg)
{
case "next":
if (drg_flow.CurrentPageIndex < (drg_flow.PageCount - 1))
{
drg_flow.CurrentPageIndex += 1;
}
break;
case "prev":
if (drg_flow.CurrentPageIndex > 0)
{
drg_flow.CurrentPageIndex -= 1;
}
break;
case "last":
drg_flow.CurrentPageIndex = (drg_flow.PageCount - 1);
break;
default:
drg_flow.CurrentPageIndex = System.Convert.ToInt32(arg);
break;
}
BindGrid();
ShowStats();
}



public void BindGrid()
{
string sql1="";//自己写

DataSet ds=.. //自己写
if(ds.Tables[0].Rows.Count!=0)
{
lb_all.Text="共有<span style='COLOR: #ff0000'>"+ds.Tables[0].Rows.Count.ToString()+"</span>条匹配记录";


drg_flow.DataSource=ds;
drg_flow.DataBind();
}
}


前台
<asp:Label id="lb_all" runat="server"></asp:Label> 
<asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" ForeColor="navy" Font-size="8pt"
CommandArgument="0" Font-Name="verdana"></asp:linkbutton> 
<asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" ForeColor="navy" Font-size="8pt"
CommandArgument="prev" Font-Name="verdana"></asp:linkbutton> 
<asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" ForeColor="navy" Font-size="8pt"
CommandArgument="next" Font-Name="verdana"></asp:linkbutton> 
<asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" ForeColor="navy" Font-size="8pt"
CommandArgument="last" Font-Name="verdana"></asp:linkbutton> 
<asp:label id="lblPageCount" runat="server"></asp:label> 
<asp:label id="lblCurrentIndex" runat="server"></asp:label></DIV>
</asp:Panel>
<asp:datagrid id="drg_flow" runat="server" Visible="False" AllowPaging="True" Width="100%" AutoGenerateColumns="False"
BorderColor="#B8B4A3" BorderWidth="1px" DataKeyField="Server_id" OnPageIndexChanged="drg_flow_Page"
PageSize="14">.......................


不要用乱七八糟的控件,有代码多好。
我看你有戏 2006-10-05
  • 打赏
  • 举报
回复
是个自定义控件

我知道是自定义控件

但我不知道如何使用,谁教我一下吧

private void Pager1_PreRender(object sender, System.EventArgs e)
{
}
这里面的函数怎么写啊
ice_frank 2006-10-05
  • 打赏
  • 举报
回复
就是个自定义控件
我看你有戏 2006-10-05
  • 打赏
  • 举报
回复
我用的也是存储过程啊,只是点击分页连接没有反映的

分页时候执行的代码怎么写的啊
szc21 2006-10-05
  • 打赏
  • 举报
回复
楼主哪搞的代码?和我用的一样,这是自定义控件,和数据库存储过程结合做出分页的.分页原理是:根据所在页数*每页显示数 传递进存储过程,显示出需要查找到的条目
winner2050 2006-10-05
  • 打赏
  • 举报
回复
你点击下页的时候页码改变没有??
wshuangminlg 2006-10-05
  • 打赏
  • 举报
回复
帮顶
fj_shaodw 2006-10-05
  • 打赏
  • 举报
回复
你去下一个AspNetPager.dll.
//调用这个方法。
public static DataTable TablePage(DataTable dt, int PageSize, int PageIndex)
{
int count = dt.Rows.Count;
int PageMin = PageSize * (PageIndex - 1);
int PageMax = PageSize * (PageIndex - 1) + PageSize;
for (int i = 0; i < count; i++)
{
if (i < PageMin || i >= PageMax)
{
dt.Rows.RemoveAt(i);
count--;
i--;
if (i < PageMin)
{
PageMin--;
PageMax--;
}
}
}
return dt;
}

//绑定
protected void Bind()
{
DataSet ds = //你的ds;
AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;
this.GridView1.DataSource = TablePage(ds.Tables[0], AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex);
this.GridView1.DataBind();
}
//分页
protected void AspNetPager1_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
{
this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
Bind();
}

分页如此简单。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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