分页如下首页 上一页  下一页  末页  以上边的形式显示代码:
<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">首页&nbsp;</asp:LinkButton>
<asp:LinkButton id="LinkButton2" runat="server" CommandArgument="prev" OnClick="PageButtonClick">上一页&nbsp;</asp:LinkButton>
<asp:LinkButton id="LinkButton3" runat="server" CommandArgument="next" OnClick="PageButtonClick">下一页&nbsp;</asp:LinkButton>
<asp:LinkButton id="LinkButton4" runat="server" CommandArgument="last" OnClick="PageButtonClick">末页&nbsp;</asp:LinkButton>&nbsp;&nbsp;&nbsp;跳转到第
<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;
}但是显示乱七八糟的要怎么做才能如我想要的

解决方案 »

  1.   

    你想干什么啊。。如果从数据库里读了数据的话,建议你用GridView啊。。用table太繁了啊。。
      

  2.   

    请参考:
    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
      

  3.   

    /// 控制页面导向按钮的可见性
    /// </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;
    }
    }
      

  4.   

    解决代码。。
    其实原来我已经做得差不多了,只是我是将判断代码放到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; } }