2012-05-31 3 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 является Null нет, если это DataSource равно нулю.
Следовательно, он никогда не вводит нижеследующий код.

Не могли бы вы попытаться изменить таким образом и посмотреть, теперь ли вы входите в условие if?

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

Благодаря steve.But я проверил в моем code.It входит в если условие. – 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 
Смежные вопросы