XtraGrid心得(一) && 开篇
开篇:
其实想写点东西好久了,但是迟迟没有动力,一味顾着玩游戏,突然发现不能这样蹉跎岁月,要做点什么来改变一下自己。所以决定写一下博客,把日常用到东西、小技巧记录下来,一方面加强记忆,一方面锻炼一下自己的文笔。写博客我想也是一个自我总结的过程,只有不断总结提炼,自身的能力才能有所提高。
博客写得不好是正常的,欢迎广大网友指出错误,虚心受教。
XtraGrid心得(一)
XtraGrid是一个增强的的表格控件,比起微软自身的DataGridView好用很多,界面友好,功能强大,在日常开发中经常使用。
(1)层次结构
理论上说一个DataControl可以切换多个DataView,DataControl更像一个容器的角色,不过我一般都是包含一个DataView。DataView中可以存在多个DataColumn,结构与dotnot本身的DataTable类似。DataColumn可以存在不同的DataEditor,DataEditor包含很多种类型,有TextEditor,ButtonEditor等等,以后文章再说明。
(2)常用属性、方法、事件
DataControl:
DataSource属性
一般来说,直接对DataControl的DataSource属性赋值即可绑定数据源,支持继承IList接口的对象,具体的对象属性绑定与DataGridColumn有关,稍后说明。
DataView:
FocusedRowHandle属性
焦点行索引,当数据源不为空时,FocusedRowHandle大于等于0,否则数值不确定,为负数,建议做判断保护。
OptionsSelection.MultiSelect属性
是否允许多行选择。
GetDataRow(int rowHandle)方法
根据行索引,返回DataRow对象。
GetFocusedDataRow()方法
直接获取焦点行的Data对象。方便快捷
GetDataSourceRowIndex(int rowHandle)属性
根据FocusedRowHandle来获取数据源的焦点索引,在以DataTable为数据源的情况下,使用较多。
GetFocusedRow()方法
与GetFocusedDataRow方法类似,但返回的是Object类型,在以IList接口的对象为数据源的情况下,使用较多。
GetRow(int rowHandle)方法
与GetDataRow(int rowHandle)方法类似,同样是返回Object类型。
GetSelectRows()方法
返回选中行的行索引数组,类型为int[]。
FocusedRowChanged事件
行改变事件,当数据源发生改变时也会触发该事件。(在老版本中,FocusedRowHandle可能会为负数,建议做判断保护,可能是bug,有待验证)
DataColumn:
FieldName属性
字段名称属性,必须设置成跟数据源的字段名称一致,前台DataView才能显示具体的值,否则是一片空白。
DisplayFormat属性
显示格式字符串,若需要一些特殊的显示必须赋值这个属性,例如显示数字{0:N2}。