asp.net中的DataList的带数字按钮的详细分页效果代码

Micai812 2010-10-15 07:22:15
我在做项目,十分需要得到这个效果的代码,希望能得到各个大虾的帮忙,有好分相赠哦!
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Micai812 2010-10-15
  • 打赏
  • 举报
回复
4楼!答案很满意,值得研究~
  • 打赏
  • 举报
回复
public void databindlist()
{
mysql.Open(); //打开连接
int countpage = Convert.ToInt32(this.Labelye.Text); //获取当前页面
str = "select * from product order by Id desc"; //Sql查询语句
myds = new DataSet();
myd = new OleDbDataAdapter(str, mysql);
myd.Fill(myds, "Result"); //填充数据
System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource(); //封装数据绑定控件类,与分页相关的属性
ps.DataSource = myds.Tables["Result"].DefaultView;
ps.AllowPaging = true; //获取或实置一个植,指示是否在数据绑定控件中启用分页
ps.PageSize =12; //获取或实置每页显示的条数
ps.CurrentPageIndex = countpage - 1; //获取或实置当前页的索引
this.lblPageCount.Text = Convert.ToString(ps.PageCount); //统计共有多少页
this.Button1.Enabled = true;
this.Button2.Enabled = true;
if (countpage == 1)
{
this.Button1.Enabled = false;//如果当前页等于"1",那么"Button1"不可用
}
if (countpage == ps.PageCount)
{
this.Button2.Enabled = false;//如果当前页等于"尾页",那么"Button2"不可用
}
this.DataList1.DataSource = ps;
this.DataList1.DataKeyField = "Id";
this.DataList1.DataBind();//将数据源绑定到DataList
OleDbCommand cmd1 = new OleDbCommand("select count(*) from product", mysql);
this.lblRecordCount.Text = Convert.ToString(cmd1.ExecuteScalar());//统计共有多少条记录
//sqldata.pagecount = Convert.ToString(ps.PageCount);
mysql.Close();//关闭连接
}
private void changeRowColor(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果是数据项并且是交替项
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//添加自定义属性,当鼠标移过来时设置该行的背景色为"6699ff",并保存原背景色
e.Item.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#B4BDB3'");
//添加自定义属性,当鼠标移走时还原该行的背景色
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");

}
}
protected void Button1_Click(object sender, EventArgs e)
{
this.Labelye.Text = Convert.ToString(Convert.ToInt32(this.Labelye.Text) - 1); //获取当前的页数
this.databindlist();
}
protected void Button2_Click(object sender, EventArgs e)
{
this.Labelye.Text = Convert.ToString(Convert.ToInt32(this.Labelye.Text) + 1); //获取下一页的页数
this.databindlist();
}
protected void Button3_Click(object sender, EventArgs e)
{
this.Labelye.Text = "1"; //获取首页
this.databindlist();
}
protected void Button4_Click(object sender, EventArgs e)
{
this.Labelye.Text = lblPageCount.Text; //获取尾页
this.databindlist();

}

前台显示:

<asp:DataList ID="DataList1" runat="server" Height="213px" HorizontalAlign="Left"
RepeatColumns="3" Style="color: black" Width="600px">
<ItemTemplate>
<table id="table1" align="center" height="54" style="width: 109px">
<tr>
<td align="center" style="width: 65px">
<a href='product_mes.aspx?id=<%# DataBinder.Eval(Container.DataItem, "Id")%>'>
<img border="0" src='<%# DataBinder.Eval(Container.DataItem, "pic") %>' style="width: 160px;
height: 90px" /></a></td>
</tr>
<tr>
<td align="center" colspan="3" style="height: 18px; width: 173px;">
<a href='product_mes.aspx?id=<%# DataBinder.Eval(Container.DataItem, "Id")%>'>
<asp:Label ID="Label1" runat="server" Font-Underline="false" Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>'></asp:Label>
</a>
</td>
</tr>

</table>
</ItemTemplate>
</asp:DataList>

<table border="1" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="center" class="STYLE12" style="height: 24px" valign="middle">
<asp:Label ID="Label6" runat="server" Text="每页显示"></asp:Label>
<asp:Label ID="Label3" runat="server" ForeColor="Red" Style="font-weight: bold" Text="12"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="条信息 共有"></asp:Label>
<asp:Label ID="lblRecordCount" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
<asp:Label ID="Label4" runat="server" Text="条记录 当前是第"></asp:Label>
<asp:Label ID="Labelye" runat="server" Font-Bold="True" ForeColor="Red" Text="1"></asp:Label>
<asp:Label ID="Label7" runat="server" Style="font-weight: bold" Text="/"></asp:Label>
<asp:Label ID="lblPageCount" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label>
<asp:Label ID="Label5" runat="server" Text="页"></asp:Label>
<asp:Button ID="Button1" runat="server" BackColor="#404040" CausesValidation="False"
Height="22px" OnClick="Button1_Click" Style="font-weight: bold; font-size: 13px;
color: white" Text="上一页" Width="59px" />
<asp:Button ID="Button2" runat="server" BackColor="#404040" CausesValidation="False"
Height="22px" OnClick="Button2_Click" Style="font-weight: bold; font-size: 13px;
color: white" Text="下一页" Width="55px" />
<asp:Button ID="Button3" runat="server" BackColor="#404040" CausesValidation="False"
Height="22px" OnClick="Button3_Click" Style="font-weight: bold; font-size: 13px;
color: white" Text="首页" />
<asp:Button ID="Button4" runat="server" BackColor="#404040" CausesValidation="False"
Height="22px" OnClick="Button4_Click" Style="font-weight: bold; font-size: 13px;
color: white" Text="尾页" /> </td>
</tr>
</table>
wuyq11 2010-10-15
  • 打赏
  • 举报
回复

62,271

社区成员

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

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

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

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