-1
我有以下代碼,它從Devexpress Datagrid中刪除空行。從網格刪除空行
Private Sub btnRemoveBlanks_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnRemoveBlanks.ItemClick
Try
Dim I As Integer
For I = 0 To StudentsGrid.DataRowCount - 1
Dim CellValue As Object = StudentsGrid.GetRowCellValue(I, "FirstName")
If String.IsNullOrWhiteSpace(CellValue.ToString) = True OrElse CellValue Is Nothing OrElse CellValue Is DBNull.Value Then
' Debug.Print("Empty")
StudentsGrid.DeleteRow(I)
Else
' Debug.Print("Not Empty")
End If
Next
StudentsGrid.RefreshData()
btnRefresh.PerformClick()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error: " & System.Reflection.MethodBase.GetCurrentMethod.Name, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
然而,一個問題是,我接收
對象引用不設置爲一個對象的一個實例。
上線起點:if string.isnullorwhitespace
或者我必須點擊該按鈕兩次或三次,除去所有的空白。
有沒有更好的方法來確定行是空的還是空白的?任何想法我可能會改進這個代碼?
編輯:主要的原因問題是去除空白,這我能夠向後步進通過網格
如果IsDBNull以便(CellValue)OrElse運算CellValue是Nothing OrElse運算... – Aaron
你需要重新安排你的支票讓'CellValue爲Nothing '先來...如果它爲空,你不能檢查它的'ToString()'方法。您還需要向後循環而不是向前循環,否則一旦刪除一行,您的索引值將不同步。如果您必須前進,您必須在刪除後手動調整'i'的值 – pinkfloydx33