We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Current Cell not pointing to valid cell?

Thread ID:





15004 Jun 9,2004 04:08 PM UTC Jun 9,2004 04:39 PM UTC WinForms 4
Tags: GridControl
Lee Perkins
Asked On June 9, 2004 04:08 PM UTC

I''m having a couple of issue involving deleting rows from the underlying data for a GDBG. My GDBG is bound to a custom collection, CustomerIncomes, which contains CustomerIncome objects. 1) If the CurrentCell is on the bottom row of the grid and I remove that CustomerIncome object from CustomerIncomes (and then do grid.RefreshRange(grid.ViewLayout.VisibleCellsRange, True)), the CurrentCell.RowIndex is a row off the bottom of the grid now. How can I tell if CurrentCell.RowIndex is a valid row or not? 2) If I have three rows in the GDBG ("A", "B", and "C") with the CurrentCell in the middle row ("B"), and I remove that CustomerIncome object from CustomerIncomes and do a RefreshRange(...), the grid ends up showing rows "A" and "C" in the first two rows, and a partial "ghost" image of row "C" in a third row (see attached screen shot). Below is my code for my DeleteData() method. Private Sub DeleteData() With dtgEmployerInfo If m_Incomes.Count > 0 AndAlso dtgEmployerInfo.CurrentCell.RowIndex > -1 Then Dim Index As Integer = .CurrentCell.RowIndex Dim Msg As String = String.Format( _ "Are you sure you want to delete the following Income?{0}{0}" & _ " Income Source: {1}{0}" & _ " Employer Name: {2}{0}" & _ " Work Phone: {3}{0}" & _ " Extension: {4}{0}" & _ " Income Range: {5}", _ ControlChars.CrLf, _ .Item(Index, .Binder.NameToColIndex(INCOME_TYPE_COLUMN)).CellValue.ToString, _ .Item(Index, .Binder.NameToColIndex(EMPLOYER_NAME_COLUMN)).CellValue.ToString, _ .Item(Index, .Binder.NameToColIndex(WORK_PHONE_COLUMN)).CellValue.ToString, _ .Item(Index, .Binder.NameToColIndex(EXTENSION_COLUMN)).CellValue.ToString, _ .Item(Index, .Binder.NameToColIndex(INCOME_RANGE_COLUMN)).CellValue.ToString) Dim Result As MsgBoxResult = MsgBox(Msg, MsgBoxStyle.YesNo, "Delete Income?") If Result = MsgBoxResult.Yes Then Dim Position As Integer = .Binder.RowIndexToPosition(Index) If Position < 0 Or Position > m_Incomes.Count - 1 Then Throw New ApplicationException("Invalid Income Index. Cannot delete selected Income.") End If m_Incomes.Remove(m_Incomes(Position)) If m_Incomes.Count > 0 Then .CurrentCell.MoveTo(1, 1) .CurrentCell.ScrollInView() End If .RefreshRange(.ViewLayout.VisibleCellsRange, True) DisplayData() End If End If End With End Sub ----- Lee Perkins

Administrator [Syncfusion]
Replied On June 9, 2004 04:32 PM UTC

1) compare the CurrentCell.RowIndex to grid.Model.RowCount to see if it is valid. 2) Did not see your picture, but if it is only the current cell that is ''ghosting'', the try this. Before you delete a row, try calling grid.CurrentCell.EndEdit() and grid.Binder.EndEdit() to make sure there are no pending changes when you delete the row. If it is the whole row that is ghosting, then try calling grid.Invalidate() before the refreshrange call to see if that clears things up.

Lee Perkins
Replied On June 9, 2004 04:35 PM UTC

Thanks for the suggestions, I''ll try them. Also, here''s the image. It''s the whole row that''s ghosting, with a chunk out of the middle. You''ll have to see the image to get it. :) GhostRow_1603.zip ----- Lee Perkins

Lee Perkins
Replied On June 9, 2004 04:39 PM UTC

Both suggestions worked like a champ. Thanks! ----- Lee Perkins

Lee Perkins
Replied On June 9, 2004 04:39 PM UTC

Both suggestions worked like a champ. Thanks! ----- Lee Perkins


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon