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に新しい列を追加するために使用しました。ただし、「同じキーのアイテムはすでに追加されています」というエラーが表示されます。

2番目の質問、そのコードを配置するために使用する必要があるプロパティは何ですか?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
        ... 

2番目の質問に関しては、ここで何を求めているのかわかりません。page.loadの前/後を意味する場合、サーバー側でのpage_loadを意味しますか、それともクライアント(ブラウザー)側でのページロードを意味しますか?率直に言って、grid_initまたはpage_initは列を追加するのに最適な場所です。ページ上の特定のイベントで列を追加する場合は、ブラウザ側で非表示の変数を設定し、その変数を使用してそのような初期化を行うかどうかを決定するのが最善の方法です。

于 2012-04-13T04:58:58.230 に答える