我目前正在使用inffragistics的UltraWebGrid控件来显示Oracle数据库中的数据。我能做得很好。现在我需要在所有其他列标题的顶部放置一个多列标题。我尝试使用下面的代码,但当我检查它时,似乎没有触发InitializeLayOut事件。还有别的办法吗?顺便说一下,我使用的是Visual Studio 2008, Oracle 11g和inffragistics v3。
protected void UltraWebGrid1_InitializeLayout(object sender, Infragistics.WebUI.UltraWebGrid.LayoutEventArgs e)
{
ColumnHeader colHead;
for (int i = 0; i < e.Layout.Bands[0].HeaderLayout.Count; i++)
{
colHead = e.Layout.Bands[0].HeaderLayout[i] as ColumnHeader;
colHead.RowLayoutColumnInfo.OriginY = 1;
}
ColumnHeader ch = new ColumnHeader(true);
ch.Caption = "From Dispo";
ch.RowLayoutColumnInfo.OriginX = 0;
ch.RowLayoutColumnInfo.OriginY = 0;
e.Layout.Bands[0].HeaderLayout.Add(ch);
ch.RowLayoutColumnInfo.SpanX = 2;
}
谢谢。
InitializeLayout事件应该作为数据绑定的一部分被触发。如果它没有启动,您应该验证它是否正确连接。
如果你想测试事件之外的逻辑,e.b layout等于ultraWebGrid1。DisplayLayout,这样你就可以修改代码,把它放到页面加载事件中