下拉框去除重复

下拉框去除重复

文献种类:专题技术文献;
开发工具与关键技术:Vs
作者:蛋蛋;
撰写时间:2019/06/07

什么是下拉框?
查询页面有下拉框选中条件作为查询,查询的结果作为条件;
下拉框是用作与选择的;但是在一些时候难免出现重复的数据;我们在查询出下拉框数据时一般用直接封装好的方法调用SelectVo,一个ID,一个name名;ID为选中值,Name为显示值文本类型;
createSelect:方法是根据url创建下拉框;
createSelect() 有三个参数(selictId , url, value, )
selictId 是form表单id, url:为路径,查询下拉框的路径; value, 设置值
但是明明就一个字段中有几个内容但是却十分多那么我们如何处理呢?下拉框去除重复_第1张图片
看图例,在客户类别的这个下拉框数据当中明显该内容就重复了,分别有个人客户以及企业客户两个内容却因为数据条数多并且全部显示,那么如果在数据相当庞大的时候就会带来不必要的麻烦;所以我们需要稍作处理,写一个实体类命名为myOption
拓展:是一个标签,Option元素定一下列表中的一个选项(一个条目),为标签的菜单或是滚动列表中的一个元素显示;再依次创建列表对象以及实体对象,注意不同的是创建实体对象的id=””
而不是赋值为0;text还是拼接“—请选择—”,
下拉框去除重复_第2张图片
与Select写法略相似,换了命名以及id=””在控制器当中的写法也需要注意一下
//查询数据
List listClientGenre = (from tbClientSort in myModels.S_Client
select new myOption
{ id = tbClientSort.ComparnyName,
text = tbClientSort.ComparnyName
}).Distinct().ToList();//去重复

Id需要注意的是不是id=tbClientSort.ClientID;而是直接name;在这里出现了一个新的词汇“Distinct()”Distinct 这个是一个关键字,用作于来过滤掉多余的重复记录只保留一条;但往往只用它返回不重复记录的条数,而不是用它来返回不重记录的所有值,其原因是Distinct只能返回他的目标字段你,而无法返回其他字段。 接下来还是一样的拼接选择项, listClientGenre = Common.Tools.SetOptionJson(listClientGenre); return Json(listClientGenre, JsonRequestBehavior.AllowGet);这样就写好了,只是稍作改动主要还是使用到Distinct 关键字看最终效果图:
下拉框去除重复_第3张图片
这样我们的下拉框去重复就实现了!

你可能感兴趣的:(后台)