`
fbljava
  • 浏览: 23717 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

UltraWebGrid控件实现多表头应用

阅读更多

最近因网站项目需要,要用到多表头,在网上找了许多资料,都没有找到UltraWebGrid多表头的文章,还是只有看自带的帮助文档,看了一上午,终于有了着落,具体实现如下:

UltraWebGrid控件实现多表头应用 - Start Know - Start Know

1.先在UltraWebGrid1.DisplayLayout.Bands[0]中设置相应的列,这里我设置的列是r1,r2_1,r2_2,r3

?

2.在ultrawebgird控件的InitializeLayout事件中写如下代码

???? protected void UltraWebGrid1_InitializeLayout(object sender, LayoutEventArgs e)

???? {????????

???????? //先把所有列头都设为第二行

???????? foreach (Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in UltraWebGrid1.DisplayLayout.Bands[0].Columns)

???????? {

???????????? c.Header.RowLayoutColumnInfo.OriginY = 1; //枞向起始点,0为第一行,1为第二行,依次类推

???????? }

???????? Infragistics.WebUI.UltraWebGrid.ColumnHeader ch = new Infragistics.WebUI.UltraWebGrid.ColumnHeader(true); //创建一个列头对象

???????? ch.Caption = "表头";?? //列头文本标题

???????? ch.RowLayoutColumnInfo.OriginX = 1;???????? //横向起始点,0为第一列,1为第二列,依次类推

???????? ch.RowLayoutColumnInfo.OriginY = 0;???????? //枞向起始点,0为第一行,1为第二行,依次类推

???????? ch.RowLayoutColumnInfo.SpanX = 2;?????????? //设置横向跨度

???????? UltraWebGrid1.DisplayLayout.HeaderStyleDefault.Height = Unit.Pixel(15);

???????? UltraWebGrid1.DisplayLayout.Bands[0].HeaderLayout.Add(ch);?? //增加到列头集合中

???????? //把非多表头的列,进行跨行

???????? foreach (Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in e.Layout.Bands[0].Columns)

???????? {

???????????? if (c.Key == "r1" || c.Key == "r3")?? //c.Key 非多表头列的key值

???????????? {

???????????????? c.Header.RowLayoutColumnInfo.OriginY = 0;?? //从第一行开始

???????????????? c.Header.RowLayoutColumnInfo.SpanY = 2;?? //跨2行

???????????? }

???????? }

???? }

?

?

3.绑定数据源

DataSet ds = Maticsoft.DBUtility.DbHelperSQL.Query("select 1 as r1, 2 as r2_1,3 as r2_2, 4 as r3"); //这里返回一个dataset对象,并绑定到UltraWebGrid控件

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics