末页和尾页以及页数怎么实现?求代码求思路

1asas 2014-04-10 09:19:57
[code=csharp]private int page = 1;

private int count = 3;
protected void Page_Load(object sender, EventArgs e)
{


if (!IsPostBack)
{

DrLB();
DrHD();
DrPP();
DrHS();
DrNMC();
}
}
public void DrLB() //类别
{
DB db = new DB();
string sqlstr = "SELECT CategoryID,Category FROM Category ";
DataTable dt = db.reDt(sqlstr);

LB.DataSource = dt;
LB.DataBind();
}
public void DrPP() //品牌
{
DB db = new DB();
string sqlstr = "SELECT VarietiesID,Varieties,VCID FROM Varieties ";
DataTable dt = db.reDt(sqlstr);

PP.DataSource = dt;
PP.DataBind();
}
public void DrHS() //花色
{
DB db = new DB();
string sqlstr = "SELECT ColorID,Color,CVID FROM Color ";
DataTable dt = db.reDt(sqlstr);

HS.DataSource = dt;
HS.DataBind();
}
public void DrNMC() //耐磨层
{
DB db = new DB();
string sqlstr = "SELECT LayerID,Layer,LCID FROM Layer ";
DataTable dt = db.reDt(sqlstr);

NMC.DataSource = dt;
NMC.DataBind();
}
public void DrHD() //厚度
{
DB db = new DB();
string sqlstr = "SELECT ThicknessID,Thickness,TLID FROM Thickness ";
DataTable dt = db.reDt(sqlstr);

HD.DataSource = dt;
HD.DataBind();
}
public void GVxs() //GridView显示
{
DB db = new DB();
string sqlstr = "select ID,category,varieties,type,color,layer,thickness,SPECIFICATION,METER,Square,Data,Number,Remark,Nmb FROM category,varieties,color,layer,thickness,kc where Category.CategoryID=kc.CategoryID and Varieties.VarietiesID=kc.VarietiesID AND Color.ColorID=kc.ColorID AND Layer.LayerID = kc.LayerID and Thickness.ThicknessID = kc.ThicknessID ORDER BY KC.ID ASC LIMIT " + (page - 1) * count + "," + count;

DataTable dt = db.reDt(sqlstr);
XS.DataSource = dt;
XS.DataBind();

}
//类别下拉框事件
protected void LB_SelectedIndexChanged(object sender, EventArgs e)
{
DB db = new DB();
string sqlstr = "SELECT VarietiesID,Varieties,VCID FROM Varieties where VCID ='" + this.LB.SelectedValue + "' ";
DataTable dt = db.reDt(sqlstr);

PP.DataSource = dt;
PP.DataBind();
}
//品牌下拉框事件
protected void PP_SelectedIndexChanged(object sender, EventArgs e)
{
DB db = new DB();
string sqlstr = "SELECT ColorID,Color,CVID FROM Color where CVID='" + this.PP.SelectedValue + "'";
DataTable dt = db.reDt(sqlstr);

HS.DataSource = dt;
HS.DataBind();

string sqlstr1 = "SELECT LayerID,Layer,typeID FROM Layer where typeID = '" + this.PP.SelectedValue + "'";
DataTable dt1 = db.reDt(sqlstr1);

NMC.DataSource = dt1;
NMC.DataBind();
NMC_SelectedIndexChanged(null,null);

}
//花色下拉框事件
protected void HS_SelectedIndexChanged(object sender, EventArgs e)
{
//DB db = new DB();
//string sqlstr = "SELECT LayerID,Layer,LCID FROM Layer where LCID = '" + this.HS.SelectedValue + "'";
//DataTable dt = db.reDt(sqlstr);

//NMC.DataSource = dt;
//NMC.DataBind();
}
//耐磨层下拉框事件
protected void NMC_SelectedIndexChanged(object sender, EventArgs e)
{
DB db = new DB();
string sqlstr = "SELECT ThicknessID,Thickness,TLID FROM Thickness where TLID = '" + this.NMC.SelectedValue + "' ";
DataTable dt = db.reDt(sqlstr);

HD.DataSource = dt;
HD.DataBind();
}





//查询按钮事件
protected void CX_Click(object sender, EventArgs e)
{
if (this.XH.Text == "" || this.XH.Text.Length == 0)
{
Response.Write("<script>alert('型号不能为空')</script>");
}
else
{


DB db = new DB();
string sqlstr = "select ID,category,varieties,type,color,layer,thickness,SPECIFICATION,METER,Square,Data,Number,Remark,Nmb FROM category,varieties,color,layer,thickness,kc where kc.CategoryID = '" + this.LB.SelectedValue + "'and kc.VarietiesID = '" + this.PP.SelectedValue + "' AND kc.ColorID = '" + this.HS.SelectedValue + "'AND kc.LayerID = '" + this.NMC.SelectedValue + "' and kc.ThicknessID = '" + this.HD.SelectedValue + "'and kc.type like '%" + this.XH.Text + "%' and kc.Number >= '" + this.KC1.Text + "'and Category.CategoryID=kc.CategoryID and Varieties.VarietiesID=kc.VarietiesID AND Color.ColorID=kc.ColorID AND Layer.LayerID = kc.LayerID and Thickness.ThicknessID = kc.ThicknessID ORDER BY KC.ID ASC LIMIT " + (page - 1) * count + "," + count;
DataTable dt = db.reDt(sqlstr);

XS.DataSource = dt;
XS.DataBind();


if (XS.Rows.Count == 0)
{
Response.Write("<script>alert('搜索不到资源')</script>");
}
}
}
[/code]
我上一页和下一页已经实现了.不过呢,我想在写个判断.就是没有上一页了点击上一页会弹出没有上一页的提示
        //上一页
protected void last_Click(object sender, EventArgs e)
{

this.page = Convert.ToInt16(this.nowPage.Value);
this.page = this.page - 1;
if (this.page < 1)
{
this.page = 1;
}
this.nowPage.Value = Convert.ToString(this.page);
//这个if怎么判断呢? 如何判断当前不能上一页
if()
{

}
GVxs();
CX_Click(null, null);

}
//下一页
protected void next_Click(object sender, EventArgs e)
{
this.page = Convert.ToInt16(this.nowPage.Value);
this.page = this.page + 1;

this.nowPage.Value = Convert.ToString(this.page);
//这个也是如何判断当前没有下一页了?
if(){}
GVxs();
CX_Click(null, null);

}



首页和尾页 以及页数显示怎么写?

米有思路.

我数据库是mysql

把代码直接贴出来把,大神
...全文
352 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
webdiyer 2014-04-10
  • 打赏
  • 举报
回复
引用 5 楼 u011619987 的回复:
[quote=引用 1 楼 banian_cn 的回复:] 你用分页控件好了
引用 2 楼 Q1092926267 的回复:
用分页控件AspNetPager
引用 3 楼 qq931121347 的回复:
AspNetPager 控件+1
贴出代码来[/quote] 这里有详细的文档和示例:http://www.webdiyer.com/aspnetpager/ 谢谢楼上各位推荐!
six-years 2014-04-10
  • 打赏
  • 举报
回复
引用 5 楼 u011619987 的回复:
[quote=引用 1 楼 banian_cn 的回复:] 你用分页控件好了
引用 2 楼 Q1092926267 的回复:
用分页控件AspNetPager
引用 3 楼 qq931121347 的回复:
AspNetPager 控件+1
贴出代码来[/quote]

页面引入
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

分页控件页面显示  属性自己改
            <table class="csstable" border="0" style="border-collapse: collapse;">
                <tr>
                    <td style="border: solid 1px #FFFFFF; text-align: right; width: 1000px">
                        <webdiyer:AspNetPager ID="PagerNInfo" PageSize="15" OnPageChanged="pagerNInfo_PageChanged"
                            runat="server" AlwaysShow="false" ShowPageIndexBox="Never"
                            PageIndexBoxType="DropDownList" TextBeforePageIndexBox="" ShowDisabledButtons="false"
                            CurrentPageButtonPosition="Beginning" FirstPageText="<<" LastPageText=">>" PrevPageText="<"
                            NextPageText=">" CustomInfoHTML="<font color="#3399FD">%CurrentPageIndex%/%PageCount%</font>" ShowCustomInfoSection="Right">
                        </webdiyer:AspNetPager>
                    </td>
                </tr>
            </table>

后台
                PagerNInfo.RecordCount = DataSelect("",  "", "", 1, 10000).Rows.Count; //查询所有数据行数赋值给分页控件


        //分页 
        protected void pagerNInfo_PageChanged(object sender, EventArgs e)
        {
                int star = PagerNInfo.StartRecordIndex;
                InitPage(DataSelect(txtName.Text, txtDepart.Text, ddlLev.SelectedIndex != 0 ? ddlLev.SelectedItem.Text : "", star, PagerNInfo.PageSize));
        }
当然引用AspNetPager 是必须的
litengfei0020 2014-04-10
  • 打赏
  • 举报
回复
引用 2 楼 Q1092926267 的回复:
用分页控件AspNetPager
+++1
china_booseen 2014-04-10
  • 打赏
  • 举报
回复
别再学webform了
  • 打赏
  • 举报
回复
引用 5 楼 u011619987 的回复:
[quote=引用 1 楼 banian_cn 的回复:] 你用分页控件好了
引用 2 楼 Q1092926267 的回复:
用分页控件AspNetPager
引用 3 楼 qq931121347 的回复:
AspNetPager 控件+1
贴出代码来[/quote] 百度下就有了,这代码太长了没法贴
1asas 2014-04-10
  • 打赏
  • 举报
回复
引用 1 楼 banian_cn 的回复:
你用分页控件好了
引用 2 楼 Q1092926267 的回复:
用分页控件AspNetPager
引用 3 楼 qq931121347 的回复:
AspNetPager 控件+1
贴出代码来
chenqian1dhl 2014-04-10
  • 打赏
  • 举报
回复
全局变量设置每页多少列 根据datatable的count来判断
淡淡的活着 2014-04-10
  • 打赏
  • 举报
回复
AspNetPager 控件+1
six-years 2014-04-10
  • 打赏
  • 举报
回复
用分页控件AspNetPager
Banianer 2014-04-10
  • 打赏
  • 举报
回复
你用分页控件好了

62,074

社区成员

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

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

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

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