博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Infragistics中WebGrid的MultiColumn Headers设计
阅读量:6708 次
发布时间:2019-06-25

本文共 1569 字,大约阅读时间需要 5 分钟。

        一般我们在设计Grid的多行表头时,可能首先考虑到用Repeater或DataList,但现在我们可以用Infragistics的WebGrid来很轻松的实现这个功能,我们要实现的效果图如下:

6181.gif
实现这样的表头的代码如下:
在Grid的InitializeLayout事件下加入下面的代码:

None.gif
        
//
None.gif        
//
设计多表头
None.gif        
//
None.gif
        
private
 
void
 ut_grid105_InitializeLayout(
object
 sender, Infragistics.WebUI.UltraWebGrid.LayoutEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif
{
InBlock.gif            
foreach(Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                c.Header.RowLayoutColumnInfo.OriginY 
= 1;
ExpandedSubBlockEnd.gif            }
InBlock.gif
InBlock.gif            
//新建一个表头,设置它的显示名称
InBlock.gif
            Infragistics.WebUI.UltraWebGrid.ColumnHeader ch = new ColumnHeader(true);
InBlock.gif            ch.Caption 
= "购进量";
InBlock.gif            
//设置Y轴起始位置
InBlock.gif
            ch.RowLayoutColumnInfo.OriginY = 0;
InBlock.gif            
//设置X轴起始位置
InBlock.gif
            ch.RowLayoutColumnInfo.OriginX = 4;
InBlock.gif            
//设置该表头X轴方向占几列
InBlock.gif
            ch.RowLayoutColumnInfo.SpanX = 2;
InBlock.gif
InBlock.gif            
//将该表头加入到我们的Grid中
InBlock.gif
            e.Layout.Bands[0].HeaderLayout.Add(ch);
InBlock.gif
InBlock.gif            Infragistics.WebUI.UltraWebGrid.ColumnHeader ch1 
= new ColumnHeader(true);
InBlock.gif            ch1.Caption 
= "消费量";
InBlock.gif            ch1.RowLayoutColumnInfo.OriginY 
= 0;
InBlock.gif            ch1.RowLayoutColumnInfo.OriginX 
= 6;
InBlock.gif            ch1.RowLayoutColumnInfo.SpanX 
= 5;
InBlock.gif
InBlock.gif            e.Layout.Bands[
0].HeaderLayout.Add(ch1);
InBlock.gif
InBlock.gif
InBlock.gif            
foreach(Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if(c.Key != "A02" && c.Key != "A03" && c.Key != "A04" && c.Key != "A05" && c.Key != "A06" && c.Key != "A07" && c.Key != "A08")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    c.Header.RowLayoutColumnInfo.OriginY 
= 0;
InBlock.gif                    c.Header.RowLayoutColumnInfo.SpanY 
= 2;
ExpandedSubBlockEnd.gif                }
ExpandedSubBlockEnd.gif            }
InBlock.gif
ExpandedBlockEnd.gif}
当然,我们还可以固定某一列或某几列,代码如下:
None.gif
//
固定列
None.gif
            e.Layout.Bands[
0
].Columns.FromKey(
"
zbmc
"
).Header.Fixed 
=
 
true
;
None.gif            e.Layout.Bands[
0
].Columns.FromKey(
"
jldw
"
).Header.Fixed 
=
 
true
;
None.gif            e.Layout.Bands[
0
].Columns.FromKey(
"
zbdm
"
).Header.Fixed 
=
 
true
;
这样做的效果是,当我们水平拖动滚动条时,被固定的这几列是不随之而动的,适用于一些网上填写表格(表格横向很长)的情况.

转载地址:http://uoilo.baihongyu.com/

你可能感兴趣的文章
Linux 文件与目录管理
查看>>
基于FormsAuthentication的用户、角色身份认证
查看>>
iOS_数据库2_基础知识
查看>>
OpenGL——圆公式相关变化的绘制
查看>>
一个IO的传奇一生(2)
查看>>
Powershell管理系列(六)批量修改AD账户登陆到的计算机
查看>>
统一沟通-技巧-10-Lync-公网证书-Go Daddy-Buy
查看>>
Struts1.2的框架验证
查看>>
服务器防***加固的几种做法
查看>>
读书笔记-信息简史
查看>>
买《Python Web全栈工程师》专题视频课程送纸质图书
查看>>
Word 2003中对不同的节设置不同的页面边框的特殊情况小结
查看>>
某游戏公司后台数据库SQL注入事件分析
查看>>
经验分享:我是如何在网店无货源情况下快速出单?
查看>>
Exchange 2013多租户托管PART 1:AD环境准备
查看>>
24小时自动引爆980个粉丝套路曝光!一辈子受用
查看>>
[歪谈]员工(人才),留得住是因为本身就留得住;留不住的,你永远留不住...
查看>>
基于CocoStudio创建跨平台项目
查看>>
Rabbitmq基本框架和安装(1)
查看>>
u-boot启动流程简图 --木草山人
查看>>