//多表头设置处理 foreach (UltraGridColumn col in PlanMonthGrid.DisplayLayout.Bands[0].Columns) { col.Header.Style.HorizontalAlign = HorizontalAlign.Center; //设置为居中 col.Header.RowLayoutColumnInfo.OriginY = 1; //纵向起始点,0为第一行,1为第二行,依次类推 } int startX = 3,orgIndex = 1; foreach (DataRow row in state.OrgData.BizData.Rows) { Infragistics.WebUI.UltraWebGrid.ColumnHeader ch = new Infragistics.WebUI.UltraWebGrid.ColumnHeader(true); //创建一个列头对象 ch.Caption = row["OrgName"]+""; //列头文本标题 ch.RowLayoutColumnInfo.OriginX = startX * orgIndex; //横向起始点,0为第一列,1为第二列,依次类推 ch.RowLayoutColumnInfo.OriginY = 0; //枞向起始点,0为第一行,1为第二行,依次类推 ch.RowLayoutColumnInfo.SpanX = 3; //设置横向跨度 ch.Style.HorizontalAlign = HorizontalAlign.Center; PlanMonthGrid.DisplayLayout.HeaderStyleDefault.Height = Unit.Pixel(20); PlanMonthGrid.DisplayLayout.Bands[0].HeaderLayout.Add(ch); //增加到列头集合中 orgIndex++; } //把非多表头的列,进行跨行 foreach (Infragistics.WebUI.UltraWebGrid.UltraGridColumn c in PlanMonthGrid.DisplayLayout.Bands[0].Columns) { if (c.Key == "PH" || c.Key == "ZJH" || c.Key == "CE") //c.Key 非多表头列的key值 { c.Header.RowLayoutColumnInfo.OriginY = 0; //从第一行开始 c.Header.RowLayoutColumnInfo.SpanY = 2; //跨2行 } }