0

私がしたいことは次のとおりです... SQLサーバーからデータをロードするグリッドビューがあります.e.NewValueとe.oldValueを持って、どのデータが変更/更新されたかを判断しますが、一意のものを取得する必要があります「ID_ControlCharts」カラムに格納されるレコードID

それで、1つのセル(e.new/old)を更新したときに、グリッドビューによってすでに埋められている「ID_controlCharts」から値を取得する方法について、コードスニペット/簡単な説明を提供できますか???

注:行を削除でき、その行への参照が失われるため、インデックスは必要なものではありません。「ID_controlCharts」はSQLサーバーキーによって自動的に入力されるため、私の状況に最適です。

コードビハインド

    If e.Equals("Control_SeqRef_CH") = False Then
        Dim oldvalue As String = e.OldValues("Control_SeqRef_CH")
        Dim newvalue As String = e.NewValues("Control_SeqRef_CH")
        Dim rowindex As Integer = e.RowIndex
        Dim IDfromcontrol as integer = ???

        MsgBox(oldvalue)
        MsgBox(newvalue)
        MsgBox(rowindex)
        Msgbox(IDfromcontrol)

    Else
        MsgBox("same")
    End If
4

1 に答える 1

0

いくつかのオプションがあります。

列がレコードにある場合、ID_ControlChartse.OldValues から取得できませんでしたか?

Dim IDfromcontrol = e.OldValues("ID_ControlCharts")

ID_ControlChartsそれができない場合、プロパティの列として設定するDataKeyNamesと、次を使用してフェッチできるはずですItemIndex

Dim IDfromcontrol = GridView1.DataKeys(e.ItemIndex).Values(0)

(これはすべてメモリからなので、構文は少しずれている可能性があります。)

于 2013-02-20T22:52:33.107 に答える