在WM应用程序中,不免需要使用到功能最强大的DataGrid.在.net cf中,DataGrid已完全弱化了.
下面几个问题,则是很多网友在开发中的一些疑问,我在此总结下,希望对大家有所帮助.
在实际开发中有些细节需要注意.
我们可能一次取出N个列的数据源,有些并不想显示在DG中.我们可以先创建好列.然后将指定列的MappingName即可.
此时,没有对应MappingName的列数据不会显示.
如何创建列头?
通过DataGird的TableStyle属性,创建一个DataGridTableStyle.
然后再创建多个DataGridColumnStyle即可.并指定其MappingName.
如果MappingName在数据源中找不到对应的,则不会显示.(区分大小写)
是否可以只创建TableStyle?
当然可以,只要指定好TableStyle的MappingName,如果不创建ColumnStyle,则会将数据源中的列全部绑定.
一旦创建了ColumnStyle,则按照ColumnStyle的显示.哪怕ColumnStyle指定的都不存在(则不显示所有列).
为何不能隐藏列?
.net cf中的DataGird中的Column不支持Visiable这个属性.
我们只有将其Width属性设为0,让其不显示.(取巧)
是否支持Master-Details方式?
不支持该方式.我们可以自己去实现,但.net cf本身的DataGrid是不支持的.
如何获得当前行,列?
通过DataGrid对象的CurrentCell的ColumnNumber(列索引下标),RowNumber(行索引下标).
如何拖动DataGrid的列?
.net cf中当然不支持拉.当然.我们完全自己去实现,
下面的图片示例用于隐藏列.
数据绑定拉.我们选择一行.
看到了不?我们选择了第5行,询问是否要隐藏该行?
看到了吗?第2列隐藏了,是设置了Width为0后的结果.你可以在那狂拉,呵呵,应该拉出第2列的.
代码下载:DeviceTechDemo.rar
运行环境:VS2008 + WM6.0 + .net cf3.5
Author:AppleSeeker(冯峰)
Date:2009-2-12
文章导读:移动开发索引贴