日期:2014-05-18  浏览次数:20409 次

请问gridview中添加了一个commandfild列,如何相应按钮事件?
请高手指点如何做?

------解决方案--------------------
按钮列
DataGridView 提供的一种列是 DataGridViewButtonColumn,这种列在每一项旁边显示一个按钮。您可以响应此按钮的单击事件,并使用它启动其他操作或显示新的表单。

以下示例使用按钮文字“Details...”创建简单的按钮列:

' 创建按钮列。
Dim Details As New DataGridViewButtonColumn()
Details.Name = "Details "

' 关闭数据绑定并显示静态文本。
'(但是,您可以通过设置 DataPropertyName
' 属性来使用该表中的属性。)
Details.DisplayTextAsFormattedValue = False
Details.Text = "Details... "

' 清除标题。
Details.HeaderText = " "

' 添加该列。
DataGridView1.Columns.Insert( _
DataGridView1.Columns.Count, Details)图 3显示了包含新列的网格。以下代码会对任何行中的按钮单击事件做出反应,并显示相应的记录信息:

Private Sub DataGridView1_CellClick( _
ByVal sender As System.Object, _
ByVal e As System.Windows.Forms. _
DataGridViewCellEventArgs) _
Handles DataGridView1.CellClick

If DataGridView1.Columns(e.ColumnIndex).Name = _
"Details " Then
MessageBox.Show( "You picked " & _
DataGridView1.Rows(e.RowIndex). _
Cells( "CustomerID ").Value)
End If
End Sub比较现实的方案是,在此时创建并显示一个新窗口,并将有关选定记录的信息传递到这个新窗口,以便查询并显示完整的信息。


------解决方案--------------------
设置按纽的CommandName,比如为Test

然后在RowCommand事件中处理
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Test ")
{
//你要做的事
}
//重新绑定数据
}