2013-06-20 47 views
1

我目前使用Infragistics的UltraWebGrid控件來顯示Oracle數據庫中的數據。我能夠做到這一點恰到好處。現在我需要在所有其他列標題的頂部放置一個多列標題。我嘗試使用下面的代碼,但是當我檢查它時,似乎沒有觸發InitializeLayOut事件。有沒有其他方法可以做到這一點?順便說一下,我正在使用Visual Studio 2008,Oracle 11g和Infragistics v3。Infragistics的Ultrawebgrid上的多列標題

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; 
     } 

謝謝你們。

回答

1

InitializeLayout事件應該作爲數據綁定的一部分被觸發。如果它沒有開火,則應驗證它是否正確連接。

如果您確實想測試事件以外的邏輯,e.Layout等於ultraWebGrid1.DisplayLayout,因此您可以修改代碼並將其放入頁面加載事件中。

+0

感謝阿蘭。我只是想知道爲什麼它在頁面加載事件,而不是在initializelayout。我很確定我已經正確地附加了initializelayout事件。 – GianIsTheName

+0

我不記得任何事件沒有發生,除非它沒有正確連接。 – alhalama

相關問題