【问题标题】:Resetting Datagridview combo box data at runtime在运行时重置 Datagridview 组合框数据
【发布时间】:2012-05-31 10:13:39
【问题描述】:

我正在表单加载事件中创建网格。 最初,我将 datagridview 组合框中的一些值设置为:

Dim dgvc As DataGridViewComboBoxCell

datagrigview1.Rows(0).Cells("Column1").Value = txtColumn1.Text \\setting selected item
datagrigview1.Rows(0).Cells("Column1").Value = txtColumn2.Text

dgvc = datagrigview1.Rows(0).Cells("Column1").Value
dgvc.Items.Add((" ")) \\adding blank
dgvc.Items.Add(txtColumn1.Text) \\then required value
dgvc = datagrigview1.Rows(0).Cells("Column1").Value
dgvc.Items.Add((" "))
dgvc.Items.Add(txtColumn2.Text)

现在,当用户单击特定组合框时。我将其中的新值设置为:

// Resetting old values
If IsDBNull(dgvc) = False Then
  dgvc.DataSource = Nothing
  dgvc.Items.Clear()
End If
If DtTable.Rows.Count > 0 Then
  Dim k As Integer
  Dim dgvc1 As DataGridViewComboBoxCell
  dgvc1 = New DataGridViewComboBoxCell()
  For k = 0 To DtTable.Rows.Count - 1
     If DtItemCd.Rows(k)("ItemCd").ToString <> Current_Code Then

     datagrigview1.Rows(e.RowIndex).Cells("Column1").Value = DtTable.Rows(k)("Column1").ToString
     dgvc1 = datagrigview1.Rows(e.RowIndex).Cells("Column1")
     dgvc1.Items.Add(DtTable.Rows(k)("Column1").ToString)

     datagrigview1.Rows(e.RowIndex).Cells("Column2").Value = DtTable.Rows(k)("Column2").ToString
     dgvc1 = datagrigview1.Rows(e.RowIndex).Cells("Column2")
     dgvc1.Items.Add(DtTable.Rows(k)("Column2").ToString)

    End If
  Next
End If

这显示了新旧记录。请帮忙。

【问题讨论】:

    标签: vb.net datagridview datagridviewcombobox


    【解决方案1】:

    这里可能是你的代码

    If IsDBNull(dgvc) = False Then 
    

    正在测试 DataGridViewComboBoxCell 是否为 Null,而不是测试其 DataSource 是否为 null。
    因此它永远不会进入下面的条件代码。

    你能不能试着用这种方式改变,看看现在是否进入了if条件?

    If IsDBNull(dgvc.DataSource) = False Then 
    

    【讨论】:

    • 谢谢史蒂夫。但我检查了我的代码。它正在进入if条件。
    【解决方案2】:

    我得到了以下解决方案:

    If IsDBNull(dgvc) = False Then
       dgvc.Items.Clear()
       dgvc.DataSource = Nothing
       dgvc = dgvSO.Rows(e.RowIndex).Cells("Column1")
       dgvc.Items.Remove(" ")
       dgvc.Items.Remove(Current_Code)
    
    End If
    

    【讨论】:

      【解决方案3】:

      这行得通

      cb.SelectedItem = Nothing
      

      【讨论】:

        猜你喜欢
        • 2011-08-24
        • 1970-01-01
        • 1970-01-01
        • 2021-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多