zoukankan      html  css  js  c++  java
  • 分页功能 与 分类查询功能合并

    功能的合并  首要的就是要找出两个功能的共同点。这里主要是用Response展示数据,通过tsql语句查询的集合作为数据源,所以这里将两个tsql合并,来实现功能的合并。

    面板界面代码:

    <form id="form1" runat="server">
            <div>
                编号:<asp:TextBox ID="TextBox1" runat="server" onkeypress="if(event.keyCode<48||event.keyCode>57)event.returnValue=false;" MaxLength="11"></asp:TextBox>
                名称:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                价格:<asp:DropDownList ID="DropDownList2" runat="server">
                    <asp:ListItem Text="大于" Value=">"></asp:ListItem>
                    <asp:ListItem Text="小于" Value="<"></asp:ListItem>
                    <asp:ListItem Text="大于等于" Value=">="></asp:ListItem>
                    <asp:ListItem Text="小于等于" Value="<="></asp:ListItem>
                    <asp:ListItem Text="等于" Value="="></asp:ListItem>
                   </asp:DropDownList>&nbsp;<asp:TextBox ID="TextBox3" runat="server" onkeypress="if(event.keyCode<48||event.keyCode>57)event.returnValue=false;" MaxLength="11"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" Text="查询" /><br />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </div>
            <div>
                <table style="background-color:pink;100%;text-align:center">
                    <tr style="color:white">
                        <td>编号</td>
                        <td>名称</td>
                        <td>老价格</td>
                        <td>新价格</td>
                        <td>图</td>
                        <td>信息</td>
                    </tr>
                    <asp:Repeater ID="Repeater1" runat="server">
                        <ItemTemplate>
                            <tr style="background-color:white">
                                <td><%#Eval("ids") %></td>
                                <td><%#Eval("name") %></td>
                                <td><%#Eval("lprice") %></td>
                                <td><%#Eval("xprice") %></td>
                                <td><%#Eval("tu") %></td>
                                <td><%#Eval("xiangqing") %></td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </table>
                <br />
                
                目前第【<asp:Literal ID="yeshu_1"  runat="server" Text="1"></asp:Literal>】页,共【<asp:Literal ID="yeshu_2" runat="server"></asp:Literal>】页。
                <asp:Button ID="but_1" runat="server" Text="第一页" /><asp:Button ID="but_s" runat="server" Text="上一页" /><asp:Button ID="but_x" runat="server" Text="下一页" /><asp:Button ID="but_0" runat="server" Text="最后一页" />
                <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
                    <asp:ListItem Text="请选择" Value=""></asp:ListItem>
                </asp:DropDownList>
                <asp:HiddenField ID="HF1" runat="server" />
                <asp:HiddenField ID="HF2" runat="server" />
            </div>
        </form>

    捣鼓出来大体这样

    后台代码

    public partial class _Default : System.Web.UI.Page
    {
        int yehascount = 2;   //每页显示几条数据
        int tiaoshu = 0;   //总共有多少条符合条件的数据
        int yecount = 0;   //  总共有几页
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)//   只是在页面第一次刷新的时候加载这个
            {
                int a = new taobaodata().selectcount(count());
                List<taobao> tlist = tiaojian();
                Repeater1.DataSource = tlist;
                Repeater1.DataBind();
                tiaoshu = a;
    
                yeshu_2.Text = suan().ToString();
                if (Convert.ToInt32(yeshu_1.Text) <= 1)
                {
                    but_1.Visible = false;//让按钮不可见
                    but_s.Visible = false;
                    but_x.Visible = true;
                    but_0.Visible = true;
    
                }
                else if (Convert.ToInt32(yeshu_1.Text) >= Convert.ToInt32(yeshu_2.Text))
                {
                    but_x.Visible = false;
                    but_0.Visible = false;
                    but_1.Visible = true;
                    but_s.Visible = true;
                }
    
                for (int i = 1; i <= Convert.ToInt32(yeshu_2.Text); i++)
                {
                    ListItem li = new ListItem("" + i.ToString() + "", i.ToString());
    
                    DropDownList1.Items.Add(li);/////下面的那个dropdownlist
                }
    
            }
            //Label1.Text = c;
            if (Repeater1.Items.Count <= 0)
            {
                Label1.Text = "没有找到此类商品";
            }
            but_1.Click += but_1_Click;
            but_x.Click += but_x_Click;
            but_s.Click += but_s_Click;
            but_0.Click += but_0_Click;
            DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
            Button1.Click += Button1_Click;    //各种事件
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            int a = new taobaodata().selectcount(count());
            List<taobao> tlist = tiaojian();
            Repeater1.DataSource = tlist;
            Repeater1.DataBind();
            tiaoshu = a;
            yeshu_2.Text = suan().ToString();
            //yeshu_1.Text = "1";
    
            but();
        }
    
        void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
    
            yeshu_1.Text = DropDownList1.SelectedValue;
            if (yeshu_1.Text != "请选择")
            {
                int a = new taobaodata().selectcount(count());
                List<taobao> tlist = tiaojian();
                Repeater1.DataSource = tlist;
                Repeater1.DataBind();
                tiaoshu = a;
                yeshu_2.Text = suan().ToString();
            }
            but();
        }
    
        void but_0_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(yeshu_1.Text) < Convert.ToInt32(yeshu_2.Text))
            {
                yeshu_1.Text = yeshu_2.Text;
    
                if (yeshu_1.Text != "请选择")
                {
                    int a = new taobaodata().selectcount(count());
                    List<taobao> tlist = tiaojian();
                    Repeater1.DataSource = tlist;
                    Repeater1.DataBind();
                    tiaoshu = a;
                    yeshu_2.Text = suan().ToString();
                }
            }
            but();
        }
    
        void but_s_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(yeshu_1.Text) > 1)
            {
                int a = Convert.ToInt32(yeshu_1.Text) - 1;
                yeshu_1.Text = a.ToString();
    
                if (yeshu_1.Text != "请选择")
                {
                    int aa = new taobaodata().selectcount(count());
                    List<taobao> tlist = tiaojian();
                    Repeater1.DataSource = tlist;
                    Repeater1.DataBind();
                    tiaoshu = aa;
                    yeshu_2.Text = suan().ToString();
                }
            }
            but();
        }
        void but_x_Click(object sender, EventArgs e)
        {
            tiaojian();
            if (Convert.ToInt32(yeshu_1.Text) < Convert.ToInt32(yeshu_2.Text))
            {
                int a = 1 + Convert.ToInt32(yeshu_1.Text);
                yeshu_1.Text = a.ToString();
    
                if (yeshu_1.Text != "请选择")
                {
                    int aa = new taobaodata().selectcount(count());
                    List<taobao> tlist = tiaojian();
                    Repeater1.DataSource = tlist;
                    Repeater1.DataBind();
                    tiaoshu = aa;
                    yeshu_2.Text = suan().ToString();
                }
                but();
            }
    
        }
    
        void but_1_Click(object sender, EventArgs e)
        {
    
            yeshu_1.Text = "1";
    
            if (yeshu_1.Text != "请选择")
            {
                int aa = new taobaodata().selectcount(count());
                List<taobao> tlist = tiaojian();
                Repeater1.DataSource = tlist;
                Repeater1.DataBind();
                tiaoshu = aa;
                yeshu_2.Text = suan().ToString();
            }
    
            but();
        }
        //计算一共有多少页
        public int suan()
        {
            int a = 0;
            yecount = Convert.ToInt32(Math.Ceiling(tiaoshu / Convert.ToDecimal(yehascount)));
            a = yecount;
            return a;
        }
    
        public void but()
        {
            if (Convert.ToInt32(yeshu_1.Text) <= 1)
            {
                but_1.Visible = false;
                but_s.Visible = false;
                but_x.Visible = true;
                but_0.Visible = true;
    
            }
            else if (Convert.ToInt32(yeshu_1.Text) >= Convert.ToInt32(yeshu_2.Text))
            {
                but_x.Visible = false;
                but_0.Visible = false;
                but_1.Visible = true;
                but_s.Visible = true;
            }
    
            if (Convert.ToInt32(yeshu_1.Text) > 1 && Convert.ToInt32(yeshu_1.Text) < Convert.ToInt32(yeshu_2.Text))
            {
                but_1.Visible = true;
                but_s.Visible = true;
                but_x.Visible = true;
                but_0.Visible = true;
            }
        }
    
    
        public List<taobao> tiaojian()
        {
            List<taobao> tlist = new List<taobao>();
            string dd = "";
            string c = "";  //拼接数据库查询字符串;
    
            bool ok = false;
            if (TextBox1.Text.Trim().Length > 0)
            {
                if (!ok)
                {
                    c += "and ids = " + TextBox1.Text.Trim() + " ";
                    dd += " where ids = " + TextBox1.Text.Trim() + " ";
                    ok = true;
                }
                else
                {
                    c += "and ids = " + TextBox1.Text.Trim() + " ";
                    dd += "and ids = " + TextBox1.Text.Trim() + " ";
                }
    
            }
            if (TextBox2.Text.Trim().Length > 0)
            {
                if (ok)
                {
                    c += "and name like '%" + TextBox2.Text.Trim() + "%' ";
                    dd += "and name like '%" + TextBox2.Text.Trim() + "%'";
                }
                else
                {
                    c += "and name like '%" + TextBox2.Text.Trim() + "%'  ";
                    dd += "where name like '%" + TextBox2.Text.Trim() + "%' ";
                    ok = true;
                }
            }
    
            if (TextBox3.Text.Trim().Length > 0)
            {
                if (ok)
                {
                    c += "and lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + "";
                    dd += "and lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + "";
                }
                else
                {
                    c += "and lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + " ";
                    dd += "where lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + " ";
                    ok = true;
                }
            }
    
            string asfasdf = "select top " + yehascount + " * from taobao where ids not in(select top " + yehascount * (Convert.ToInt32(yeshu_1.Text) - 1) + " ids from taobao " + dd + ") " + c + " ";
    
            tlist = new taobaodata().selectall(asfasdf);
            return tlist;
    
        }
    
    
        public string count()
        {
            string dd = "select Count(*)from taobao ";
    
            bool ok = false;
            if (TextBox1.Text.Trim().Length > 0)
            {
                if (!ok)
                {
                    dd += " where ids = " + TextBox1.Text.Trim() + " ";
                    ok = true;
                }
                else
                {
                    dd += "and ids = " + TextBox1.Text.Trim() + " ";
                }
    
            }
            if (TextBox2.Text.Trim().Length > 0)
            {
                if (ok)
                {
                    dd += "and name like '%" + TextBox2.Text.Trim() + "%'";
                }
                else
                {
                    dd += "where name like '%" + TextBox2.Text.Trim() + "%' ";
                    ok = true;
                }
            }
    
            if (TextBox3.Text.Trim().Length > 0)
            {
                if (ok)
                {
                    dd += "and lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + "";
                }
                else
                {
                    dd += "where lprice " + DropDownList2.SelectedValue + " " + TextBox3.Text + " ";
                    ok = true;
                }
            }
    
    
            return dd;
    
        }
    }
  • 相关阅读:
    redis_03 _ 高性能IO模型:为什么单线程Redis能那么快
    redis_02 _ 数据结构:快速的Redis有哪些慢操作?
    redis-01 _ 基本架构:一个键值数据库包含什么?
    mysql_28 _ 读写分离有哪些坑
    mysql_27 _ 主库出问题了,从库怎么办
    小程序的转发功能
    简单几何(求交点) UVA 11178 Morley's Theorem
    测试开发CICD——Docker——windows8上环境安装
    测试开发进阶——spring boot——MVC——MyBatis初步了解(转载)
    BZOJ 2226 [Spoj 5971] LCMSum
  • 原文地址:https://www.cnblogs.com/big-lll/p/6904842.html
Copyright © 2011-2022 走看看