vb.net:DataGridView控件显示数据库字段内容时,根据枚举类型“翻译”成相应字符串
来源:互联网 发布:抓取访客手机号源码 编辑:程序博客网 时间:2024/06/08 12:38
题外话:网上关于VB.NET的资料实在太少,难道所有程序员都奔C#去了?不解中…. 很多时候只好看C#的,很吃力…还有一个办法就是看国外网站的资料,更吃力…
用户在执行数据库查询操作时,流程一般是:SqlDataAdapter从数据库中获取数据,并将其用Fill方法存储在DataSet中,然后将DataGridView控件的数据源绑定为DataSet,即可将查询结果显示出来,整个过程只需要几条语句而已,这正是ADO.NET的优点之一。
但是有时候,需要对个别字段进行处理,例如:需要在数据库中检索所有报警事件,有一个字段“Status”是报警器状态,值为一个字(Word),每个位(Bit)代表不同含义,需要在显示时“翻译”过来,那么该怎么做呢?
这就需要用到VB.NET提供的枚举类型,这是VB6没有的新特性,这个枚举实际上相当于数值常量,与单独的常量不同的是,枚举常量是有范围的,并且可以做与、或、非运算。
Private Enum ALARMSTATUSSTRUCT As UInt16 '占一个字(WORD)或双字节 wIsInited = 1 wIsActive = 2 wIsIgnored = 4 wIsAlarming = 8 wAlarmType = 4080 '占8位,此处未用 wUnused = 61440 '占最高4位,此处未用End Enum
定义好枚举类型,利用DataGridView的CellFormatting方法在绘制列表的时候,更改字段值:
Private Sub DataGridView1_CellFormatting(sender As Object, _e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _ Handles DataGridView1.CellFormatting Dim StatusType As String = vbNullString If e.ColumnIndex = 2 Then '如果是第3列 Dim StatusValue As UInt16 = Convert.ToUInt16(e.Value) Try If StatusValue And ALARMSTATUSSTRUCT.wIsInited Then StatusType &= "未初始化," Else StatusType &= "已初始化," End If If StatusValue And ALARMSTATUSSTRUCT.wIsActive Then StatusType &= "已撤防," Else StatusType &= "已设防," End If If StatusValue And ALARMSTATUSSTRUCT.wIsIgnored Then StatusType &= "已强制取消," End If If StatusValue And ALARMSTATUSSTRUCT.wIsAlarming Then StatusType &= "正在报警," End If e.Value = StatusType.Substring(0, StatusType.Length - 2) '去掉字符串最后的逗号 Catch ex As Exception e.Value = ex.Message '出错则显示出错信息 End Try End If End Sub
这样当DataGridView填充数据时,同步更改第3列的值,根据枚举定义更换为字符串描述。
0 0
- vb.net:DataGridView控件显示数据库字段内容时,根据枚举类型“翻译”成相应字符串
- vb.net实现Datagridview控件显示数据库中的图片
- [VB.NET]datagridview控件
- vb.net 枚举类型
- vb.net(2005)DataGridView控件对数据库操作
- VB.NET 中DataGridView显示数据库中的数据
- VB.NET中DataGridView控件
- VB.NET中根据DataGridView中显示的数据条件数据行显示不同的颜色
- 根据字符串获得相应的类型
- 根据登陆显示相应状态 --自定义控件
- [VB.NET]如何捕捉datagridview控件中combox内容改变的事件?
- [VB.NET]请问怎么把datagridview某行的内容显示在textbox上?
- VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示
- VB.NET 打开Excel文件,读取Excel内容,添加到DataGridView中并显示
- [VB.NET]同一个dataset可以绑定到不同datagridview里吗,并且每个datagridview显示内容不同
- DataGridView控件在vb.net中的应用
- vb.net datagridview控件导出excel
- 【VB.net】DataGridView控件的使用
- 238Product of Array Except Self
- Bootstrap的js插件之按钮(button)
- 高性能图片服务器–ZIMG
- 大盘快速缩量 变盘在即
- 你的App为什么没有用户?
- vb.net:DataGridView控件显示数据库字段内容时,根据枚举类型“翻译”成相应字符串
- checkpoint的应用总结
- Jquery autocomplete 百度式自动填充
- Android 自定义RecyclerView 实现真正的Gallery效果
- 图片预览功能的简单实现
- 用eclipse实现NDK调试常见问题总结
- 竞价推广哪家好?易商在线(武汉)网络技术有限公司
- Vivado自学笔记
- signal学习代码实例(sigaction/signalfd)