利用Linq在RadCombobox中输出分类后的数据
一、目的:
相信大家一定见过一种下拉选择的是根据数据的类别进行分类后输出的,这里我们讨论的是如何使用Linq将已有的数据进行分类并按照分类的类别名称进行输出,这样完全可以根据数据库的数据库的类别自动的输出对应的类别的数据
二、列子:
这里我们将会根据用户的角色来进行分类,并且输出。
1 protected void Page_Load(object sender, EventArgs e) 2 { 3 DataSet data = Bll_User.GetList(""); 4 var newdata = from item in data.Tables[0].AsEnumerable() 5 where item["UserState"].ToString() == "启用" 6 group item by item["UserRole"].ToString() into g 7 select g; 8 foreach (IGrouping<string, DataRow> group in newdata) 9 { 10 Telerik.Web.UI.RadComboBoxItem radgroup = new Telerik.Web.UI.RadComboBoxItem(); 11 radgroup.BackColor = System.Drawing.Color.Black; 12 radgroup.ForeColor = System.Drawing.Color.White; 13 radgroup.Text = (group.Key == "")?"普通用户":group.Key; 14 radgroup.IsSeparator = true; 15 RadComboBox1.Items.Add(radgroup); 16 foreach (DataRow item in group) 17 { 18 Telerik.Web.UI.RadComboBoxItem raditem = new Telerik.Web.UI.RadComboBoxItem(); 19 raditem.Text = item["UserName"].ToString(); 20 raditem.Value = item["UserID"].ToString(); 21 RadComboBox1.Items.Add(raditem); 22 } 23 } 24 }
这里我们使用了Linq中的 group by into 的语句进行的分类。
然后我们在通过 iGrouping 接口以及 IEnumerable 接口将数据添加至RadCombobox控件中的。这里我们涉及了两层的循环,第一层是将组的信息添加到控件中,第二个循环是将该组下的信息添加到控件中。
按照这个顺序就可以完整的将分类以及数据输出。
这里再将分类的数据输出的时候还将该项的分隔符属性设置为了true这样用户就无法选择该项了。
最后的效果图:
因为最近时间紧所以没有什么太多的时间整理花在写文档上面。
利用Linq在RadCombobox中输出分类后的数据相关推荐
- 程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。...
程序通过定义学生结构体变量,存储学生的学号.姓名和3门课的成绩.函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据.例如,若b所指变量t中的学号.姓名和三门课的成 ...
- python 表格格式输出_利用python对excel中一列的时间数据更改格式操作
问题场景:需要将下列的交期一列的数据格式更改成2019/05/10 存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y01 ...
- 获取组织分类后群数据
/*** 获取组织分类后群数据* @param UrlManager $urlManager* @param Request $request* @return \Illuminate\Http\Js ...
- python对excel数据更改_利用python对excel中一列的时间数据更改格式代码示例
本篇文章小编给大家分享一下利用python对excel中一列的时间数据更改格式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 问题场景:需要将 ...
- python更改整列小时分钟_利用python对excel中一列的时间数据更改格式操作
问题场景:需要将下列的交期一列的数据格式更改成2019/05/10存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y019 ...
- 获取自动增涨列的表中添加完成后的数据
当我们向有自动增涨列的表中添加完数据后,想得到刚刚生成的自动增涨列的值,有两种方法: 第一种方法: \cmd.CommandText ="insert into class(cName,cD ...
- 练习利用LSTM实现手写数字分类任务
练习利用LSTM实现手写数字分类任务 MNIST数据集中图片大小为28*28. 按照行进行展开成28维的特征向量. 考虑到这28个的向量之间存在着顺序依赖关系,我们可以将他们看成是一个长为28的输入序 ...
- github用相对路径显示图片_【图文详解】如何利用Github在Markdown中插入图片?
最近尝试用利用Github在Markdown中插入图片,遇到诸多问题--主要是不知道如何用GitHub上传图片! GitHub是一个纯英文网站,网上目前有的教程又都较为简略,一般只有文字说明.但缺乏图 ...
- C语言利用二叉树的操作实现根据给定的字符串生成二叉树并前序、中序、后序输出二叉树。
C语言利用二叉树的操作实现根据给定的字符串生成二叉树并前序.中序.后序输出二叉树. Description 根据给定的字符串生成二叉树并前序.中序.后序此二叉树. Input 给定一字符串,其中#表示 ...
最新文章
- oracle中的not in和not exists注意事项
- C#中枚举类型的声明与使用举例
- Jekyll报'Tag was never closed'错误
- mysql第四章思考与练习答案_Mysql课后思考题
- linux 改目录前缀,Linux修改终端显示前缀及环境变量
- 安全和隐私:您知道系统中潜藏着什么吗?
- BestCoder4 1002 Miaomiao's Geometry (hdu 4932) 解题报告
- 解决shiro和quartz2 版本冲突问题
- junit学习笔记(二):hamcrest和TestSuit
- jQuery基础(jQuery概念,jQuery与js入口函数的区别及其入口函数的其他写法和冲突问题)
- RGB 和 YUV之间的转换
- Word转换成pdf之pdf虚拟打印机如何使用操作教程
- exosip鉴权及使用
- Android 5.1-7.1 高通驱动修改 - 上篇
- android开机画面在uboot里吗,iTOP-6818开发板-Android5.1修改uboot和内核开机LOGO
- 【应用笔记】APM32F4xx_ADC应用笔记
- (四)下载利器aria2
- 离差(全距,平均偏差,半内四分位数间距,10~90百分位数间距,标准差)
- 4 Kubernetes资源-Pod控制器(1)
- 程序员好几年才能成为架构师_成为更好的企业架构师