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
close icon

Hiding rows causes my expand range not to be accurate??

I am having troubles with an expandrange when I have a grid that has hidden rows. I have attached a sample of this. Run my sample and starting in cell 1,1 highlight a range so that all the cells in this grid are highlighted. Then click button1. Look at the following line when the code stops..

Dim r As Syncfusion.Windows.Forms.Grid.GridRangeInfo = MyRange.ExpandRange(1, 1, 32, grdExpires.ColCount) 'GC1.RowCount, GC1.ColCount)

Even though I tell it that it should have 32 rows, if you look at r.bottom you will see it has 99 which is the amount of rows the grid was set up with. This number can change from 1 to 99 and we need to hide the rows for various reason. So how can I make my expandrange show 32 so that my data I am trying to reset will not blow up when it thinks it needs to go to 99?

Copy of MultipleGridsShowingProb.zip

18 Replies

HA haneefm Syncfusion Team September 7, 2007 11:06 PM UTC

Hi Philip

Thank you for the sample and detailed explanation.

We have tried to reproduce this issue in the following environment: Windows XP with SP2, .NET 2.0/1.1 Framework and Essential Studio v5.1. But couldn't get this issue.

Attached screenshot shows the bottom value properly.
IssueScreenShot.zip

Exactly what version of Windows XP are you using?

What version of the .NET framework and Essential Studio are you using?

Have you seen this on multiple systems?

If you have any further questions on this issue, please feel free to reply this thread.

Best Regards,
Haneef


PB Philip Bishop September 10, 2007 12:37 PM UTC

XP Pro SP2.
VS 2005
Syncfsuion Grid 4.202.0.37
2.0 framework.

It happens to me every time. Can you try it with that version?


HA haneefm Syncfusion Team September 11, 2007 12:01 AM UTC

Hi Philip,

We tried to reproduce this issue with Essential version 4.202.0.37, but could not get this issue. Maybe I am not following the steps that you are doing. Attached screenshot showing the r.Bottom value properly. Please refer to the attached screenshot for more details.

PhilipIssue.zip

Please try to provide us some more information on this issue, this will help us to analyse the issue here and get back to you with the solution.

Thanks for your patience.

Best Regards,
Haneef


PB Philip Bishop September 11, 2007 02:37 PM UTC

Sorry. Change the following line so that the 32 is grdexpires.rowcount. Then if you select all the cells in the grid, r.bottom will be 98 because it thinks it needs to grab the hidden also.

Dim r As Syncfusion.Windows.Forms.Grid.GridRangeInfo = MyRange.ExpandRange(1, 1, 32, grdExpires.ColCount) 'GC1.RowCount, GC1.ColCount)


PB Philip Bishop September 19, 2007 06:48 PM UTC

Just wondered if you read my last post on this and figured anything out?


PB Philip Bishop October 4, 2007 07:21 PM UTC

This has sat for over 20 days with no response?


HA haneefm Syncfusion Team October 4, 2007 07:40 PM UTC

Hi Philip,

Our sincere apologies for this delay in responding.

Please try to provide us some more details on your system, as we need some more input on this issue. We have tested your application with different system configuration to reproduce this issue. But we could not get this issue. Is it possible for you to provide us some more information to reproduce the issue here? This will help us to analyse the issue further.

We appreciate your patience, and thanks for considering Syncfusion products.

Best Regards,
Haneef


PB Philip Bishop October 4, 2007 08:06 PM UTC

Did you try changing my sample like I said in a post from september? Here is the post which is also above.

Sorry. Change the following line so that the 32 is grdexpires.rowcount. Then if you select all the cells in the grid, r.bottom will be 98 because it thinks it needs to grab the hidden also.

Dim r As Syncfusion.Windows.Forms.Grid.GridRangeInfo = MyRange.ExpandRange(1, 1, 32, grdExpires.ColCount) 'GC1.RowCount, GC1.ColCount)

So if you go to my sample and change the 32 to be gc1.rowcount then you will be able to reproduce this.


HA haneefm Syncfusion Team October 4, 2007 08:21 PM UTC

Hi Philip,

Did you try changing my sample like I said in a post from september?
>>>>>>>>>>>>>
Yes, we have already changed code in your sample as per your above post. But we unable to reproduce this issue here. Please try to provide us some more details on your system.

We appreciate your patience, and thanks for considering Syncfusion products.

Best Regards,
Haneef


PB Philip Bishop October 4, 2007 09:00 PM UTC

Ok I have changed my sample and attached a screen print of what I see. If you select all the cells there are only 32 rows out of the 99 and the rest are hidden. When I go to r.bottom it shows me 99 not 32.

gridrangeinfo.zip


HA haneefm Syncfusion Team October 4, 2007 09:48 PM UTC

Hi Philip,

Thank you for your screenshot. We have sent this discussion to our development team for more analysis. We will update you once we get back from our development team.

Best regards,
Haneef


PB Philip Bishop October 29, 2007 02:39 PM UTC

Anything new on this?


PB Philip Bishop November 15, 2007 02:17 PM UTC

Anything new on this?



PB Philip Bishop November 26, 2007 02:45 PM UTC

Hello????????



PB Philip Bishop December 10, 2007 01:52 PM UTC

Hello????????????????

I've been trying to get a response on this since october and nobody is answering??



AD Administrator Syncfusion Team December 10, 2007 05:13 PM UTC

Hiding rows do not actually remove them from the grid (and thus will not remove them from selected ranges). So, the 5th visible row may have actual grid row index of 399 if there are 394 hidden rows before it. So, to get the value for the 5th visible row in this grid, you cannot use five as an index but would still have to use 399 to access the correct row.

If you want to only process non-hidden rows, then you will have to exclude the hidden ones from your processing loop. Exactly how you go about this will depend on what your ultimate requirements are. For example, if you want to to just see 32 items processed when you select all the rows, then you can us code like:

For Each MyRange In MySelectedRanges

Dim r As Syncfusion.Windows.Forms.Grid.GridRangeInfo = MyRange.ExpandRange(1, 1, grdExpires.RowCount, grdExpires.ColCount) 'GC1.RowCount, GC1.ColCount)
Stop
For col = r.Left To r.Right
Dim visibleRowIndex As Integer = r.Top
For row = r.Top To r.Bottom
If Not grdExpires.Rows.Hidden(row) Then
' dataExpires(visibleRowIndex, col).SetValue(Syncfusion.Windows.Forms.Grid.GridStyleInfoStore.CellValueProperty, CI_Exp_Aray((col - 1) + ((visibleRowIndex - 1) * 128)))
Console.WriteLine(visibleRowIndex)
visibleRowIndex += 1
End If

Next row
Next col
Next MyRange


To guarantee a timely response, you may want to use Direct to log your questions and problems.



PB Philip Bishop December 10, 2007 06:56 PM UTC

I will give this a try.

I go back and forth on using this or direct trac. Regardless of that, it never takes a month for someone to at least respond saying we are looking in to this.





AD Administrator Syncfusion Team December 11, 2007 10:04 AM UTC

If you do not get a response from Direct Trac within 24 hours during the work week, please escalate the incident which will get you a response.


Loader.
Live Chat Icon For mobile
Up arrow icon