逝者如斯夫(一)
程序员文章站
2022-06-22 15:23:44
Dev 复合表头的使用 作为一名开发小白,开发时遇到使用复合表头,此前没有使用过,浪费很多时间弄出,此为本人经验,仅供参考。 1.首先针对于VS里面增加了Dev控件来说,创建WinForm页面后拖动GridControl 到表单中 2.页面中有 Click here to change view, ......
dev 复合表头的使用
作为一名开发小白,开发时遇到使用复合表头,此前没有使用过,浪费很多时间弄出,此为本人经验,仅供参考。
1.首先针对于vs里面增加了dev控件来说,创建winform页面后拖动gridcontrol 到表单中
2.页面中有 click here to change view, 改变视图,点开之后有 convert to :cardview 、bandedgridview... 直选选择 bandedgridview 这时打开 run designer 设计器
3.这时可以点击 add new band 增加一个表头,感受一下。gridband1 里面如果存在字段,则显示出字段,点击show columns selector 把显示的字段拖动到此处,则选中的 gridband1 里面则显示当前的字段了,这是在设计器里面进行增加复合表头,此种情况不在赘述,接下来,说一下调用代码实现动态复合表头。
4.直接贴代码吧,可以更加直白。
// 示例 public void fillgrid(bandedgridview bandview,datatable dt) { dictionary<int, string> dlist = new dictionary<int, string>(); string[] totalnd = mainnd.split(','); for (int j = 0; j < totalnd.length; j++) { gridband gb = new gridband(); gb.caption = totalnd[j].tostring(); bandview.bands.add(gb); for (int i = 35; i < dt.columns.count; i++) { createcolumn(gb, dt.columns[i].columnname); gb.appearanceheader.options.useforecolor = true; gb.appearanceheader.options.usebackcolor = true; gb.appearanceheader.textoptions.halignment = devexpress.utils.horzalignment.center; } } this.gridcontrol1.datasource = dt; this.bandedgridview1.optionsview.columnautowidth = false; this.bandedgridview1.scrollstyle = scrollstyleflags.livehorzscroll | scrollstyleflags.livevertscroll; this.bandedgridview1.horzscrollvisibility = scrollvisibility.always; } public void createcolumn(gridband bandc, string colunm_index) { bandedgridcolumn cola = new devexpress.xtragrid.views.bandedgrid.bandedgridcolumn(); cola.name = "" + colunm_index; cola.caption = "" + colunm_index; cola.fieldname = "" + colunm_index; cola.visible = true; bandc.columns.add(cola); cola.appearanceheader.textoptions.halignment = devexpress.utils.horzalignment.center; }
5.此代码可以直接放在类里面,传两个参数进行调用,第一个参数不说了,就是gridview1,第二个是dataset,里面有复合表头使用的字段,for循环中绑定列名和数据,因为我是有两个复合表头,一个是静态表头,一个是动态表头,从第35个字段开始就进行复合表头字段调用。 此调用过程中,可以对表头进行只读和长度等一系列改动,达到自身需要。
这是动态生成的月份,通过数据库资质sql,进行动态绑定,是不是很好玩啊,祝大家前程似锦。
下一篇: C#线程学习笔记三:线程池中的I/O线程