DropDownList查询&Input(Checkbox)查询

DropDownList查询

  protected void btnGo_Click(object sender, EventArgs e)
    {
        var query1 = _Context.STO.AsQueryable();//根据产品别查
        var query2 = _Context.STO.AsQueryable();//根据仓库编号查
        var query3 = _Context.STO.AsQueryable();//根据仓库名称查

        //根据数据框的填入情况完善以上三个查询
        if (ddlProd.SelectedValue != "-1")
        {
            query1 = query1.Where(p=>p.PRODCODE == ddlProd.SelectedValue );
        }
        if (txtNo.Text.Trim().Length > 0)
        {
            query2 = query2.Where(p=>p.STORNO == txtNo.Text );
        }
        if (txtName.Text.Trim().Length > 0)
        {
            query3 = query3.Where(p => p.STORNAME.Contains(txtName.Text));
        }

        //三个查询条件用交集
        var query = query1.Intersect(query2).Intersect(query3);
        //绑定显示
        Repeater1.DataSource = query;
        Repeater1.DataBind();
    }

Input(Checkbox)查询

1.先填充数据

  //填充区域
    private void FillArea()
    {
        List<ItemData> list = new List<ItemData>();//新建一个ItemData类
        List<string> temp = _Context.House.Select(p=>p.Area).Distinct().ToList();//去重查出区域
        foreach (string s in temp) //遍历string 变成ItemData对象
        {
            ItemData data = new ItemData();
            data.Code = s;
            data.Name = s;
            list.Add(data);
        }
        //绑定数据
        Repeater1.DataSource = list;
        Repeater1.DataBind();
    }
    //填充租赁类型
    private void FillRentType()
    {
        List<ItemData> list = new List<ItemData>();
        List<string> temp = _Context.House.Select(p => p.RentType).Distinct().ToList();
        foreach (string s in temp)
        {
            ItemData data = new ItemData();
            data.Code = s;
            data.Name = s;
            list.Add(data);
        }
        Repeater2.DataSource = list;
        Repeater2.DataBind();

    }
    //填充房屋类型
    private void FillHouseType()
    {
        List<ItemData> list = new List<ItemData>();
        List<string> temp = _Context.House.Select(p => p.HouseType).Distinct().ToList();
        foreach (string s in temp)
        {
            ItemData data = new ItemData();
            data.Code = s;
            data.Name = s;
            list.Add(data);
        }
        Repeater3.DataSource = list;
        Repeater3.DataBind();
    }

2.查询

//点击全选复选框,下面的条件复选框都会选上<script language="javascript">
        function checkAll(ckall, ckname) {
            var cks = document.getElementsByName(ckname);
            for (var i = 0; i < cks.length; i++) {
                cks[i].checked = ckall.checked;
            }
        }
    </script>

 区 域 :<input id="chAreaAll" type="checkbox" onclick="checkAll(this, ‘ckarea‘)"  />全选<br />
        <br />
        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <input id="ckArea_<%#Eval("Code") %>" name="ckarea" type="checkbox" value="<%#Eval("Code") %>"/><span><%#Eval("Name") %></span>
            </ItemTemplate>
        </asp:Repeater>
        <br />
        <br />
        租赁类型:<input id="ckRentTypeAll" type="checkbox" onclick="checkAll(this,‘ckrenttype‘)"/>全选<br />
        <br />
        <asp:Repeater ID="Repeater2" runat="server">
            <ItemTemplate>
                <input id="ckRentType_<%#Eval("Code") %>" name="ckrenttype" type="checkbox" value="<%#Eval("Code") %>" /><span><%#Eval("Name") %></span>
            </ItemTemplate>
        </asp:Repeater>
        <br />
        <br />
        房屋类型:<input id="ckHouseType" type="checkbox" onclick="checkAll(this,‘ckhousetype‘)" />全选<br />
        <br />
        <asp:Repeater ID="Repeater3" runat="server">
            <ItemTemplate>
                <input id="ckHouseType_<%#Eval("Code") %>" name="ckhousetype" type="checkbox" value="<%#Eval("Code") %>" /><span><%#Eval("Name") %></span>
            </ItemTemplate>
        </asp:Repeater>
  protected void Button1_Click(object sender, EventArgs e)
    {
        //区域查询
        var query1 = _Context.House.AsQueryable();
        if (Request["ckarea"] != null)
        {
            string area = Request["ckarea"];
            string[] areas = area.Split(‘,‘);
            query1 = query1.Where(p=>areas.Contains(p.Area));
        }

        //租赁类型查询
        var query2 = _Context.House.AsQueryable();
        if (Request["ckrenttype"] != null)
        {
            string renttype = Request["ckrenttype"];
            string[] renttypes = renttype.Split(‘,‘);
            query2 = query2.Where(p=> renttypes.Contains(p.RentType));
        }

        //房屋类型查询
        var query3 = _Context.House.AsQueryable();
        if (Request["ckhousetype"] != null)
        {
            string housetype = Request["ckhousetype"];
            string[] housetypes = housetype.Split(‘,‘);
            query3 = query3.Where(p=> housetypes.Contains(p.HouseType));
        }

        //关键字查询
        var query4 = _Context.House.AsQueryable();
        if (txtSearch.Text.Trim().Length > 0)
        {
            query4 = query4.Where(p=>p.KeyWord.Contains(txtSearch.Text));
        }

        //取交集 绑定显示数据
        var query = query1.Intersect(query2).Intersect(query3).Intersect(query4); ;
        Repeater4.DataSource = query;
        Repeater4.DataBind();
    }
时间: 2024-10-01 06:33:41

DropDownList查询&Input(Checkbox)查询的相关文章

openlayers实现wfs属性查询和空间查询

概述: 一直在寻求openlayers中wfs加载和属性查询的相关操作,功夫不负有心人,蓦然回首,那人却在灯火阑珊处,找到了这篇博文:http://blog.csdn.net/longshengguoji/article/details/39377931,试了下,在IE8中正常运行,但是在chrom中涉及到跨域的问题,待后期接解决吧.本文讲解如何通过wfs实现属性的查询与展示. 效果: 初始化状态 属性查询结果 空间查询结果 数据表: 关键代码: 添加wfs图层 wfs = new OpenLa

Arcgis for Js之featurelayer实现空间查询和属性查询

空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完了效果,下面说说我的实现思路. 首先,实现查询的关键是Query,属性查询时query.where来实现,空间查询时query.geometry来实现,具体代码如下: 1.属性查询 on(dom.byId("query"), "click", function(even

子域名爆破&amp;C段查询&amp;调用Bing查询同IP网站

在线子域名爆破 1 <?php 2 3 function domainfuzz($domain) { 4 $ip = gethostbyname($domain); 5 preg_match("/\d+\.\d+\.\d+\.\d+/",$ip,$arr); 6 return $arr; 7 } 8 9 function main() { 10 if(isset($_GET['q'])) { 11 $return = array(); 12 $domain = trim($_GE

D. Powerful array 离线+莫队算法 给定n个数,m次查询;每次查询[l,r]的权值; 权值计算方法:区间某个数x的个数cnt,那么贡献为cnt*cnt*x; 所有贡献和即为该区间的值;

D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standard output An array of positive integers a1,?a2,?...,?an is given. Let us consider its arbitrary subarray al,?al?+?1...,?ar, where 1?

python 之 数据库(多表查询之连接查询、子查询、pymysql模块的使用)

10.10 多表连接查询 10.101 内连接 把两张表有对应关系的记录连接成一张虚拟表 select * from emp,dep: #连接两张表的笛卡尔积 select * from emp,dep where emp.dep_id = dep.id; # 不推荐用where连接表 select * from emp inner join dep on emp.dep_id = dep.id; #推荐 +----+-----------+--------+------+--------+--

Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

多表查询,子查询,及查询语句中语句执行的先后顺序和特点

对多张表进行查询操作 查询方式1: 笛卡尔积查询 select * from 表1,表2; 结果:让表1中的每一条记录和表2中每一条记录一次组合 表1 n条记录 表2 m条记录 最终查询结果:n * m 条 注意: 1.观察笛卡尔积查询的最终结果,很多数据没有实际作用 2.查询结果太多,对内存压力大 笛卡尔积查询优化(内连接) 加上条件 隐式内连接 select * from 表1,表2 where 表1.字段 = 表2.字段; 显示内连接语法 select * from 表1 inner jo

2016/3/13 七种查询 (普通查询 条件查询 排序查询 模糊查询 统计查询 分组查询 分页查询 )

一句话概括的话,SQL作为结构化查询语言,是标准的关系型数据库通用的标准语言: T-SQL 是在SQL基础上扩展的SQL Server中使用的语言 1,普通查询 #查询Info表中的所有列 select * from Info #查询Info表中的Name和Code列 select Name,Code from Info 2,条件查询 关键字where #查询Info表的左右列 限定范围 列名为p001 select * from Info where 列名="p001" #查询条件之

input checkbox选择器

var chks = $("input:checkbox[name='chk']:checked"); var postId = chks.val();//Id