private void button8_Click(object sender, EventArgs e)//********************************* 查 找 ***************************************
{
var lszcmxb = db.支出明细表.Where(item => item.ID > 0); // 支出明细表 记录
var lsb = lszcmxb.Where(item => item.所属部门 == Convert.ToInt64(listBox1.SelectedValue)); //过滤 筛选 查找
var xxss = lsb.Select(item => new
{
ID = item.ID,
所属部门 = item.部门名称表.部门名称,
报账标识 = item.报账标识,
报账日期 = item.报账日期,
记账日期 = item.记账日期,
付款标识 = item.付款标识,
付款日期 = item.付款日期,
付款方式 = item.付款方式表.付款方式,
合计金额 = item.合计金额,
票据单位 = item.票据单位,
}).ToList();
dgvItems.DataSource = xxss;//
}
上面代码中,listBox1只选择一项(如:小学部),那么查询有效,但是进行多个选择时,如同时选择,小学部 和 幼儿园 ,语句该如何写?
var lsb = lszcmxb.Where(item =>(item.所属部门 == 1 | item.所属部门 == 2)); // 这样写 倒是 一个办法
假设 ListBox 里有100个选择项,同时选择80个,解决不了问题。
var lsb = lszcmxb.Where(item => ?????? );
?????? 这里应该怎样写!
![图片说明](https://img-ask.csdn.net/upload/201902/09/1549675183_59329.jpg)
![图片说明](https://img-ask.csdn.net/upload/201902/09/1549675189_851186.jpg)
![图片说明](https://img-ask.csdn.net/upload/201902/09/1549675198_947428.jpg)