C#winform问题 datagridview中combobox选项改变触发事件用哪个方法
补充说明一下。。我把datagridview中的一列改成了combobox类型有2个选项可供选择如何在改变选项时触发事件..强调是combobox选项一改变就触发事件...
补充说明一下。。我把datagridview中的一列改成了combobox类型 有2个选项可供选择 如何在改变选项时触发事件.. 强调是combobox选项一改变就触发事件
展开
5个回答
展开全部
这个需要触发的是datagridview的CellContentClick事件,在这个事件里,判断你的datagridview的ColumnIndex是不是所属的combobox的索引,如果是,才进行进一步的操作,例如:
//假定你的
combobox的索引是5,如果不确定,可以通过弹出e.ColumnIndex看看你所点击的combobox的索引是几
private void datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5 && e.RowIndex != -1 && !datagridview.Rows[e.RowIndex].IsNewRow)
{
//这个地方写你的事件操作,如:
String id = datagridview.Rows[e.RowIndex].Cells[0].Value.ToString();
......
}
}
//假定你的
combobox的索引是5,如果不确定,可以通过弹出e.ColumnIndex看看你所点击的combobox的索引是几
private void datagridview_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5 && e.RowIndex != -1 && !datagridview.Rows[e.RowIndex].IsNewRow)
{
//这个地方写你的事件操作,如:
String id = datagridview.Rows[e.RowIndex].Cells[0].Value.ToString();
......
}
}
展开全部
给你个VB的写法,自己改成C#的。
'下面这个保证一旦ComboBox数据改变会提交给事件
Private Sub DataGridView1_CurrentCellDirtyStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged
If DataGridView1.IsCurrentCellDirty Then
DataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
End If
End Sub
’这里响应事件
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
If e.ColumnIndex = 1 AndAlso e.RowIndex > -1 Then
MessageBox.Show(DataGridView1.Rows(e.RowIndex).Cells(1).Value)
End If
End Sub
'下面这个保证一旦ComboBox数据改变会提交给事件
Private Sub DataGridView1_CurrentCellDirtyStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged
If DataGridView1.IsCurrentCellDirty Then
DataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
End If
End Sub
’这里响应事件
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
If e.ColumnIndex = 1 AndAlso e.RowIndex > -1 Then
MessageBox.Show(DataGridView1.Rows(e.RowIndex).Cells(1).Value)
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TextChanged(),因为你改变的是文本的值,相当于input的 text属性一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能说具体点 说你的目的是什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a.SelectedIndexChanged
b.Controlassed
c.styleChanged
d.imeModeChanged
b.Controlassed
c.styleChanged
d.imeModeChanged
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询