惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
B
Blog
博客园 - Franky
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
云风的 BLOG
云风的 BLOG
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
V
V2EX
Martin Fowler
Martin Fowler
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队

博客园 - 月异星邪

Anaconda官方网站下载慢的解决方法 定时任务调度自动提醒企业微信 天高云淡 leobbs皮肤 - 月异星邪 - 博客园 仿QQ信息弹出 - 月异星邪 - 博客园 http://www.xywq.com/files/ganzhi11.htm IIS6 Http压缩配置方法 - 月异星邪 - 博客园 IIS6,SESSION超时时间过短的解决(未测试) 如何实现函数IF的嵌套超过七层? 常用asp.net代码 - 月异星邪 - 博客园 在ASP.NET中使用Session常见问题集锦 ASP.NET 2.0:使用用户控件和定制的Web部件个人化你的门户网站 ASP.NET中常用的文件上传下载方法 轻松实现UltraWebGrid中的分页控制 http://www.bo-blog.com/index.php?l=zh_tw&mod=skins ASP.NET中常用的文件上传下载方法 ASP.NET 2.0中使用webpart系列控件 ASP.NET2.0 WebPart实例教程 数字转换为大写人民币(附源码) 用ASP.NET 2.0实现AJAX风格的Web开发
Infragistics中WebGrid的MultiColumn Headers设计
月异星邪 · 2007-01-10 · via 博客园 - 月异星邪

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

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

        //
        
//设计多表头
        
//
        private void ut_grid105_InitializeLayout(object sender, Infragistics.WebUI.UltraWebGrid.LayoutEventArgs e)
        
{
            
foreach(Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)
            
{
                c.Header.RowLayoutColumnInfo.OriginY 
= 1;
            }


            
//新建一个表头,设置它的显示名称
            Infragistics.WebUI.UltraWebGrid.ColumnHeader ch = new ColumnHeader(true);
            ch.Caption 
= "购进量";
            
//设置Y轴起始位置
            ch.RowLayoutColumnInfo.OriginY = 0;
            
//设置X轴起始位置
            ch.RowLayoutColumnInfo.OriginX = 4;
            
//设置该表头X轴方向占几列
            ch.RowLayoutColumnInfo.SpanX = 2;

            
//将该表头加入到我们的Grid中
            e.Layout.Bands[0].HeaderLayout.Add(ch);

            Infragistics.WebUI.UltraWebGrid.ColumnHeader ch1 
= new ColumnHeader(true);
            ch1.Caption 
= "消费量";
            ch1.RowLayoutColumnInfo.OriginY 
= 0;
            ch1.RowLayoutColumnInfo.OriginX 
= 6;
            ch1.RowLayoutColumnInfo.SpanX 
= 5;

            e.Layout.Bands[
0].HeaderLayout.Add(ch1);


            
foreach(Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)
            
{
                
if(c.Key != "A02" && c.Key != "A03" && c.Key != "A04" && c.Key != "A05" && c.Key != "A06" && c.Key != "A07" && c.Key != "A08")
                
{
                    c.Header.RowLayoutColumnInfo.OriginY 
= 0;
                    c.Header.RowLayoutColumnInfo.SpanY 
= 2;
                }

            }


}

当然,我们还可以固定某一列或某几列,代码如下:

//固定列
            e.Layout.Bands[0].Columns.FromKey("zbmc").Header.Fixed = true;
            e.Layout.Bands[
0].Columns.FromKey("jldw").Header.Fixed = true;
            e.Layout.Bands[
0].Columns.FromKey("zbdm").Header.Fixed = true;

这样做的效果是,当我们水平拖动滚动条时,被固定的这几列是不随之而动的,适用于一些网上填写表格(表格横向很长)的情况.