对于asp,net的初学者而言,在同一个页面中获取DataGrid中某一行的数据可能比较难,不知从何实现,特别是提取出用户当前所点击行的记录,呵呵,就我本人也是初学者,有些地方解释不清楚,还请原谅.
在DataGrid控件中,先把AutoGenerateColumns属性设为False,这样就不会自动生成列了,然后手动添加按钮列,这就是读取数据的时候所点击的按钮,比如说要修改当前记录,可以这样写:<asp:ButtonColumn Text="修改" ButtonType="PushButton" HeaderText="" CommandName="MODY">,buttonype属性表示按钮的类型,这里选Pushbutton,显示的效果和我们平时的命令按钮一样,text就是按钮上所显示的文本了,这样的话在运行中就可以看到表中多了一列按钮,然后添加onitemcommand所触发的事件,我的代码是这样写的
<asp:datagrid id="DataGrid" runat="server" AutoGenerateColumns="False" Width="710px" OnItemCommand="Grid_Command">
红色部分就是自定义的一个过程的名字,你所要实现的功能就在这个过程中写,系统不会自动生成,我的代码如下:
Sub Grid_Command(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Dim linenum As String = e.Item.ItemIndex '得到当前所单击行的行号
Dim lineid As String
Dim com_name As String
DG_lj.SelectedIndex = CInt(linenum) '设定当前行为选定行
lineid = DG_lj.SelectedItem.Cells(0).Text '得到当前行中第列的数据内容,第二列的依此类推
com_name = e.CommandName '得到单击命令按钮的事件名称,也就是说判断你单击的是哪个按钮
If com_name = "MODY" Then
'如果是你所要的那个按钮,那就在这处理数据吧, 要改要删就在你自己了.
End If
end sub
希望对你有所帮助,如有问题,请发邮件至ljzych@163.com,大家共同提高.