2012-04-13 64 views
0

第一個問題如何添加自定義列使用循環得到名和列的值aspxgridview列自定義列。如何添加使用aspxgridview(VB)環

這裏是我的背後代碼:

Protected Sub gridSubmission_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles gridSubmission.Init 
     Dim colBaru As GridViewDataTextColumn = New GridViewDataTextColumn() 
    For i As Integer = 1 To 6 
     colBaru.Caption = i 
     colBaru.FieldName = i 
     colBaru.UnboundType = DevExpress.Data.UnboundColumnType.Integer 
     colBaru.VisibleIndex = gridSubmission.VisibleColumns.Count 
     colBaru.PropertiesTextEdit.DisplayFormatString = "c2" 
     gridSubmission.Columns.Add(colBaru) 
    Next 
end sub 

這在我以前在aspxgridview添加新列。 但它出現錯誤,「已添加具有相同密鑰的項目。」

第二個問題,什麼屬性,我必須使用該代碼?我想在page.load之後加載該代碼!如果我把aspxgridview.init放在page.load之前。

和輸出必須是這樣的:

1   2   3   4   5   6 
row   row  row  row   row   row 
row   row  row  row   row   row 
row   row  row  row   row   row 
row   row  row  row   row   row 
row   row  row  row   row   row 

幫助pelase ...

感謝之前

回答

1

至於第一個問題的話,你正試圖再次添加同一列的對象,再次分欄,因此你會得到這個錯誤。嘗試在循環中創建列對象 - 例如:

Protected Sub gridSubmission_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles gridSubmission.Init 

    For i As Integer = 1 To 6 
     Dim colBaru As GridViewDataTextColumn = New GridViewDataTextColumn() 
     colBaru.Caption = i 
     colBaru.FieldName = i 
     ... 

至於第二個問題,我不確定你在這裏問什麼。當你的意思是在page.load之前/之後,你是指服務器端的page_load或客戶端(瀏覽器)端的頁面加載?坦率地說,grid_init或page_init是添加列的最佳位置。如果你想在頁面上的特定事件中添加列,那麼最好的辦法是在瀏覽器端設置一些隱藏變量,並使用該變量來決定是否進行這種初始化。

+0

非常感謝。是工作。對於第二個問題,我已經解決了我的自我問題,我放入了新的子文件,並在頁面的每次更改中調用它。在我看到文檔後,屬性init總是在page.load之前加載(我在服務器端使用)。 – tyo 2012-04-13 06:00:50