首页 > 解决方案 > DataGridViewComboboxColumn 单元格值

问题描述

我有一个带有组合框列的 datagridview。我想将列中的所有值与已选择的值匹配。我有一个上下文菜单条,因此您可以右键单击单元格并更改整个列。与此类似的问题有我无法理解或无法工作的提示和技巧。以下代码的结果,是否运行无误;但列单元格值不会以传递给它的值结束。我是 datagridviews 的新手,它们比我预期的更复杂。你知道我错过了什么吗?

表单快照

vb.net
{Public Sub g_CMSFrmColmsDGVValForColumnClick(Sender As Object, e As ToolStripItemClickedEventArgs)
        'Creation of this context menu strip is above in sub new
        'Dim Item As ToolStripItem = e.ClickedItem       

        ' If the contextstrip button that was clicked is the first one("Val for Column")
        If e.ClickedItem Is g_CMSFrmColmsDGV.Items.Item(0) Then
            ' Get list of selected cells
            Dim SelectedCells As New List(Of DataGridViewCell)
            For Each SelCell As DataGridViewCell In g_FormColumns.DGV_Columns.SelectedCells : SelectedCells.Add(SelCell) : Next
            ' Exit sub if no cells are selected
            If SelectedCells.Count = 0 Then : MessageBox.Show("Please select at least one cell.") : Exit Sub : End If

            ' If more than one cell is selected sort through them.
            If SelectedCells.Count > 1 Then : CheckColumnDuplicates(SelectedCells) : End If


            If SelectedCells.Count = 1 Then
                ' Go through each row in the column and change the values to the selected cell value.
                For i As Integer = 0 To SelectedCells.Item(0).DataGridView.Rows.Count - 1
                    ' Do not replace the value of the row of the selected cell.
                    If i <> SelectedCells.Item(0).RowIndex Then
                        ' Change this cells value.
                        Dim ComboCell As DataGridViewComboBoxCell = g_FormColumns.DGV_Columns.Rows(i).Cells.Item(SelectedCells.Item(0).ColumnIndex)
                        ComboCell.Value = SelectedCells.Item(0).Value
                      
                        g_FormColumns.DGV_Columns.Refresh()
                    End If
                Next
            End If
        End If

    End Sub}

*更新如果我单击列下的单元格,我想要的值就在那里。当我点击单元格时它消失了。所以我认为价值已经改变,但变化没有显示出来。

标签: datagridviewcomboboxcell

解决方案


推荐阅读