分页如下首页 上一页 下一页 末页 以上边的形式显示代码:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80%" align="left"><div>
<asp:LinkButton id="LinkButton1" runat="server" CommandArgument="first" OnClick="PageButtonClick">首页 </asp:LinkButton>
<asp:LinkButton id="LinkButton2" runat="server" CommandArgument="prev" OnClick="PageButtonClick">上一页 </asp:LinkButton>
<asp:LinkButton id="LinkButton3" runat="server" CommandArgument="next" OnClick="PageButtonClick">下一页 </asp:LinkButton>
<asp:LinkButton id="LinkButton4" runat="server" CommandArgument="last" OnClick="PageButtonClick">末页 </asp:LinkButton> 跳转到第
<asp:DropDownList id="DropDownList1" runat="server" Width="35px">
<asp:ListItem Value="1" Selected="True">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
</asp:DropDownList>页</div>
</td>
<td align="right">
<asp:Label id="Label1" runat="server"></asp:Label></td>
</tr>
</table>后台代码:
public void PageButtonClick(object sender, System.EventArgs e)
{
string arg=((LinkButton)sender).CommandArgument;
switch(arg)
{
case ("next"):
if(this.DataGrid1.CurrentPageIndex<(this.DataGrid1.PageCount-1))
this.DataGrid1.CurrentPageIndex++;
break;
case ("prev"):
if(this.DataGrid1.CurrentPageIndex>0)
this.DataGrid1.CurrentPageIndex--;
break;
case ("last"):
this.DataGrid1.CurrentPageIndex=(this.DataGrid1.PageCount-1);
break;
case ("first"):
this.DataGrid1.CurrentPageIndex=0;
break;
}
Bind();
}现在我想做成的是:当访问第一页时。。首页和上一页按钮为不可见
当位于最后一页时,末页和下一页按钮不可见。。我是这么实现的:
在pageload中加代码:
this.LinkButton1.Visible=true;
this.LinkButton2.Visible=true;
this.LinkButton3.Visible=true;
this.LinkButton4.Visible=true;
if(this.DataGrid1.CurrentPageIndex==0)
{
this.LinkButton1.Visible=false;
this.LinkButton2.Visible=false;
}
if(this.DataGrid1.CurrentPageIndex==(this.DataGrid1.PageCount-1))
{
this.LinkButton3.Visible=false;
this.LinkButton4.Visible=false;
}但是显示乱七八糟的要怎么做才能如我想要的
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80%" align="left"><div>
<asp:LinkButton id="LinkButton1" runat="server" CommandArgument="first" OnClick="PageButtonClick">首页 </asp:LinkButton>
<asp:LinkButton id="LinkButton2" runat="server" CommandArgument="prev" OnClick="PageButtonClick">上一页 </asp:LinkButton>
<asp:LinkButton id="LinkButton3" runat="server" CommandArgument="next" OnClick="PageButtonClick">下一页 </asp:LinkButton>
<asp:LinkButton id="LinkButton4" runat="server" CommandArgument="last" OnClick="PageButtonClick">末页 </asp:LinkButton> 跳转到第
<asp:DropDownList id="DropDownList1" runat="server" Width="35px">
<asp:ListItem Value="1" Selected="True">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
</asp:DropDownList>页</div>
</td>
<td align="right">
<asp:Label id="Label1" runat="server"></asp:Label></td>
</tr>
</table>后台代码:
public void PageButtonClick(object sender, System.EventArgs e)
{
string arg=((LinkButton)sender).CommandArgument;
switch(arg)
{
case ("next"):
if(this.DataGrid1.CurrentPageIndex<(this.DataGrid1.PageCount-1))
this.DataGrid1.CurrentPageIndex++;
break;
case ("prev"):
if(this.DataGrid1.CurrentPageIndex>0)
this.DataGrid1.CurrentPageIndex--;
break;
case ("last"):
this.DataGrid1.CurrentPageIndex=(this.DataGrid1.PageCount-1);
break;
case ("first"):
this.DataGrid1.CurrentPageIndex=0;
break;
}
Bind();
}现在我想做成的是:当访问第一页时。。首页和上一页按钮为不可见
当位于最后一页时,末页和下一页按钮不可见。。我是这么实现的:
在pageload中加代码:
this.LinkButton1.Visible=true;
this.LinkButton2.Visible=true;
this.LinkButton3.Visible=true;
this.LinkButton4.Visible=true;
if(this.DataGrid1.CurrentPageIndex==0)
{
this.LinkButton1.Visible=false;
this.LinkButton2.Visible=false;
}
if(this.DataGrid1.CurrentPageIndex==(this.DataGrid1.PageCount-1))
{
this.LinkButton3.Visible=false;
this.LinkButton4.Visible=false;
}但是显示乱七八糟的要怎么做才能如我想要的
http://www.xproer.com/web/article/data.aspx?aid=174&cid=14&aname=%u4E0A%u4E0B%u9875%u5206%u9875%u7B97%u6CD5%u8BB2%u89E3&atime=2007-4-23 13:02:54&alook=88&author=Xproer
/// </summary>
private void IsFirstLastPage()
{
if(CustomerDatagrid.PageCount > 0)
{
if(CustomerDatagrid.PageCount != 1)
{
if(CustomerDatagrid.CurrentPageIndex == 0)
{
PagePrev.Enabled = false;
}
else
{
PagePrev.Enabled = true;
}
if(CustomerDatagrid.CurrentPageIndex == CustomerDatagrid.PageCount -1)
{
PageNext.Enabled = false;
}
else
{
PageNext.Enabled = true;
}
}
else
{
PagePrev.Enabled = false;
PageNext.Enabled = false;
}
}
else
{
PageFirst.Enabled = false;
PageLast.Enabled = false;
PageNext.Enabled = false;
PagePrev.Enabled = false;
}
}
其实原来我已经做得差不多了,只是我是将判断代码放到PageLoad中。从而无法正确判断
private void Bind()
{ this.DataGrid1.DataSource=data.ShowAllCollege().Tables[0].DefaultView;
this.DataGrid1.DataBind();
IsFirstLastPage();
this.Label1.Text="第"+(this.DataGrid1.CurrentPageIndex+1).ToString()+"页"+"/共"+this.DataGrid1.PageCount.ToString()+"页";;
}
private void IsFirstLastPage()
{
if(DataGrid1.PageCount > 0)
{
if(DataGrid1.PageCount != 1)
{
if(DataGrid1.CurrentPageIndex == 0)
{
this.LinkButton1.Visible = false;
this.LinkButton2.Visible = false;
}
else
{
this.LinkButton1.Visible = true;
this.LinkButton2.Visible = true;
}
if(DataGrid1.CurrentPageIndex == (DataGrid1.PageCount -1))
{
this.LinkButton3.Visible = false;
this.LinkButton4.Visible = false;
}
else
{
this.LinkButton3.Visible = true;
this.LinkButton4.Visible = true;
}
}
else
{
this.LinkButton1.Visible = false;
this.LinkButton2.Visible = false;
this.LinkButton3.Visible = false;
this.LinkButton4.Visible = false; }
}
else
{
this.LinkButton1.Visible = false;
this.LinkButton2.Visible = false;
this.LinkButton3.Visible = false;
this.LinkButton4.Visible = false; } }