2012-05-31 11 views
1

我在表單加載事件上創建網格。 起初我設置在DataGridView的組合框一些值:在運行時重置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) 

現在,當在特定的combobox.I用戶點擊我在它作爲建立新的價值觀:

// 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 

這表明新老紀錄。請幫忙。

回答

1

也許你的代碼在這裏

If IsDBNull(dgvc) = False Then 

正在測試,如果是的DataGridViewComboBoxCell不爲空,如果它的DataSource爲空。
因此它永遠不會進入下面的條件代碼。

你可以嘗試改變這種方式,看看你現在是否輸入if條件?

If IsDBNull(dgvc.DataSource) = False Then 
+0

感謝steve.But我在code.It檢查正在進入if條件。 – Preeti

0

我得到了以下解決方案:

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 
0

這工作

cb.SelectedItem = Nothing