欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

逝者如斯夫(一)

程序员文章站 2022-03-11 23:25:30
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,进行动态绑定,是不是很好玩啊,祝大家前程似锦。