我想要做的是跟随...我有一个gridview从SQL服务器加载数据,我有e.NewValue和e.oldValue来确定哪些数据被修改/更新但我需要获取存储在“ID_ControlCharts”列
中的唯一记录ID那么,你能否提供一个代码片段/简要说明,当我更新1个单元格(e.new/old)时,如何从gridview已填充的“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
答案 0 :(得分:0)
您有几个选择:
如果ID_ControlCharts
列在记录中,您是否无法从e.OldValues中获取它?
Dim IDfromcontrol = e.OldValues("ID_ControlCharts")
如果失败,如果您将ID_ControlCharts
设置为DataKeyNames
属性的列,则应该可以使用ItemIndex
获取它:
Dim IDfromcontrol = GridView1.DataKeys(e.ItemIndex).Values(0)
(这完全来自内存,因此语法可能稍微偏离。)