0

第一个问题如何使用循环将自定义列添加到 aspxgridview 列以获取列的名称和值。

这是我背后的代码:

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

帮助请...

谢谢之前

4

1 回答 1

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 是添加列的最佳位置。如果您想在页面上的某个事件中添加列,那么最好的方法是在浏览器端设置一些隐藏变量,并使用该变量来决定是否进行此类初始化。

于 2012-04-13T04:58:58.230 回答