请教如何在DataGrid同一行中,通过点击按钮来获取同行中其他列的数据值!

时间:2020-12-19 09:54:18
例如创建了一个DataGrid控件,由绑定列和摸版列组成,在第一列使用绑定列(绑定数据库表A的ID字段内容),第二列使用了摸版列,并在其中使用了一个Linkbutton,目的是想在点击该行的Linkbutton后,同时获取该行第一列的ID绑定值,请问怎么才能做到呢?小弟实在着急,急请朋友们指教!!

7 个解决方案

#1


用  e.Item.FindControl("控件名")
找到那个控件  然后取值就可以了

#2


DataGrid1.item(row,rol)

#3


楼上的朋友们可以说的再稍微具体一点吗?二楼的朋友,你说的FindControl方法好象只能获取摸版列中的数据吧,可我现在要获取的是棒定列的ID数据,也可以这样做吗?

#4


你是不是想在点击某一行的时候获取这一行的id值然后根据id再做别的事呢!要是这样的话我可以帮你!
 Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)
  If Not IsDBNull(Me.DataGrid1.CurrentCell.RowNumber) Then
                Dim x As String = CStr(Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber, 0))'如果你的id是在第一列就用0,第二列就用1....
else
end if
messagebox.show(x)
end sub

#5


Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)
  If Not IsDBNull(Me.DataGrid1.CurrentCell.RowNumber) Then
                Dim x As String = CStr(Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber, 0))'如果你的id是在第一列就用0,第二列就用1....
messagebox.show(x)
else
end if
end sub
是这个样子的了@呵呵!

#6


楼上的朋友可以为我解释一下Handles DataGrid1.CurrentCellChanged和
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)句话的意思吗?Me是指?CStr是指?

#7


me,指的是当前datagrid1所在的控件,你完全可以不写它!cstr是强制转换!如果你的ID是数字类型在这里的x经过转换就成了string型了!
Handles DataGrid1.CurrentCellChanged是句柄,是用来引发该事件的,也就是当你点击datagrid1上的一行时的事件,
Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)当前选择的行数!

#1


用  e.Item.FindControl("控件名")
找到那个控件  然后取值就可以了

#2


DataGrid1.item(row,rol)

#3


楼上的朋友们可以说的再稍微具体一点吗?二楼的朋友,你说的FindControl方法好象只能获取摸版列中的数据吧,可我现在要获取的是棒定列的ID数据,也可以这样做吗?

#4


你是不是想在点击某一行的时候获取这一行的id值然后根据id再做别的事呢!要是这样的话我可以帮你!
 Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)
  If Not IsDBNull(Me.DataGrid1.CurrentCell.RowNumber) Then
                Dim x As String = CStr(Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber, 0))'如果你的id是在第一列就用0,第二列就用1....
else
end if
messagebox.show(x)
end sub

#5


Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)
  If Not IsDBNull(Me.DataGrid1.CurrentCell.RowNumber) Then
                Dim x As String = CStr(Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber, 0))'如果你的id是在第一列就用0,第二列就用1....
messagebox.show(x)
else
end if
end sub
是这个样子的了@呵呵!

#6


楼上的朋友可以为我解释一下Handles DataGrid1.CurrentCellChanged和
 Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)句话的意思吗?Me是指?CStr是指?

#7


me,指的是当前datagrid1所在的控件,你完全可以不写它!cstr是强制转换!如果你的ID是数字类型在这里的x经过转换就成了string型了!
Handles DataGrid1.CurrentCellChanged是句柄,是用来引发该事件的,也就是当你点击datagrid1上的一行时的事件,
Me.DataGrid1.Select(Me.DataGrid1.CurrentCell.RowNumber)当前选择的行数!