1

我目前正在使用 Infragistics 的 UltraWebGrid 控件来显示来自 Oracle 数据库的数据。我能够做到这一点恰到好处。现在我需要在所有其他列标题的顶部放置一个多列标题。我尝试使用下面的代码,但是当我检查它时,似乎没有触发 InitializeLayOut 事件。还有其他方法可以做到这一点吗?顺便说一句,我使用的是 Visual Studio 2008、Oracle 11g 和 Infragistics 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;
        }

多谢你们。

4

1 回答 1

1

InitializeLayout事件应作为数据绑定的一部分触发。如果它没有触发,您应该验证它是否已正确连接。

如果您确实想在事件之外测试逻辑,则 e.Layout 等于 ultraWebGrid1.DisplayLayout,因此您可以修改代码并将其放入页面加载事件中。

于 2013-06-20T20:45:22.640 回答