当我尝试运行以下代码时,我通过代码分析得到了错误。
//代码
For Each UltraGridRow In transactionFieldsGrid.Rows.GetAllNonGroupByRows()
If (Field.FieldTypeId = 1000) Then
Dim cboUltra = New UltraCombo()
cboUltra.DataSource = LoadLookupMulticolumn(Field.LookUpCode)
UltraGridRow.Cells("FieldValue").ValueList = cboUltra
EndIf
Next
//错误
CA2000 在失去范围之前处置对象 在方法“TransactionFieldsController.LoadTransactionFieldsGrid(UltraGridBase, Collection(Of TransactionField), WorkflowsController, Boolean)”中,对象“cboUltra”并未沿所有异常路径处置。在对对象“cboUltra”的所有引用超出范围之前调用 System.IDisposable.Dispose。
为了克服这个问题,我将代码重写为:
For Each UltraGridRow In transactionFieldsGrid.Rows.GetAllNonGroupByRows()
If (Field.FieldTypeId = 1000) Then
Using cboUltra As New UltraCombo()
cboUltra.DataSource = LoadLookupMulticolumn(Field.LookUpCode)
UltraGridRow.Cells("FieldValue").ValueList = cboUltra
End Using
EndIf
Next
但是当我尝试像上面的代码一样。Object reference error
当下面的行被执行时,我得到了一个。
transactionFieldsGrid.ActiveRow = transactionFieldsGrid.Rows.GetRowAtVisibleIndex(0)
注意: 网格和行包含值。
有什么解决办法吗?