Vb.net 用于更新datagridview中相邻单元格的组合框

Vb.net 用于更新datagridview中相邻单元格的组合框,vb.net,winforms,datagridview,combobox,Vb.net,Winforms,Datagridview,Combobox,我有一个datagridview,它带有一个组合框,可以查看另一个名为products的表,并允许我选择一个产品。我还将datagridview标记设置为在price列中查找相同的表产品。我希望能够通过从组合框中选择产品来自动填充价格单元格。问题是下面的代码将整个列更改为相同的价格。我只想改变那一行 关于datagridview.cellvaluechanged事件,我有以下代码。顺便说一句我使用VB.net。请不要回答C Dim price As Double = 0 pr

我有一个datagridview,它带有一个组合框,可以查看另一个名为products的表,并允许我选择一个产品。我还将datagridview标记设置为在price列中查找相同的表产品。我希望能够通过从组合框中选择产品来自动填充价格单元格。问题是下面的代码将整个列更改为相同的价格。我只想改变那一行

关于datagridview.cellvaluechanged事件,我有以下代码。顺便说一句我使用VB.net。请不要回答C

    Dim price As Double = 0


    price = Recipe_DetailsDataGridView.Tag
    For Each column As DataRowView In Me.Recipe_DetailsBindingSource.List
        column!price = price

    Next

考虑到您正在遍历所有行,为什么您会对所有行的更改感到惊讶?如果您只想更改一行,那么只需更改一行,这不涉及循环。您正在使用的事件应该为您提供行索引,这样您就可以从同一行的相应列中获取单元格,或者获取绑定项并设置相应的字段


顺便问一下,当循环控制变量表示一行时,将其命名为“column”真的有意义吗?

这就是我所拥有的。我有一个模糊的想法,能够实现一个消息框来显示行索引

将索引设置为整数

    For i = 0 To Recipe_DetailsDataGridView.SelectedCells.Count - 1

        index = Recipe_DetailsDataGridView.SelectedCells.Item(i).RowIndex
        MsgBox(index, , )
    For i = 0 To Recipe_DetailsDataGridView.SelectedCells.Count - 1

        index = Recipe_DetailsDataGridView.SelectedCells.Item(i).RowIndex
        Recipe_DetailsDataGridView.CurrentRow.Cells(2).Value = Recipe_DetailsDataGridView.Tag

成功了!我从一个旧的VBA项目中获得了第一行代码,并简单地根据.net实现了它 最后一句话刚从我脑海中弹出来

将索引设置为整数

    For i = 0 To Recipe_DetailsDataGridView.SelectedCells.Count - 1

        index = Recipe_DetailsDataGridView.SelectedCells.Item(i).RowIndex
        MsgBox(index, , )
    For i = 0 To Recipe_DetailsDataGridView.SelectedCells.Count - 1

        index = Recipe_DetailsDataGridView.SelectedCells.Item(i).RowIndex
        Recipe_DetailsDataGridView.CurrentRow.Cells(2).Value = Recipe_DetailsDataGridView.Tag

我不知道。这就是我问专家的原因。我在别的地方看到了这个代码。我确实尝试过使用一种方法,但没有成功。我对这个很陌生。大约一个月前开始编写代码。谢谢。正如我所说,您使用的事件提供了行索引。首先要做的是阅读有关事件的信息。一旦有了行索引,就可以得到该行。获得行后,您可以获取所需列中的单元格并设置其值,或者获取DataBoundItem并直接修改它。不成功。花了好几个小时想知道怎么做。我想我得多读点书。举个例子会很有帮助的。你能告诉我们你认为应该是什么,然后我们会帮你解决它吗?