Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ScrollBar on the grid
Message
 
 
To
21/07/2001 08:12:35
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Miscellaneous
Thread ID:
00533414
Message ID:
00533535
Views:
14
>Hi Nadya.
>
>>>I noticed, that if we use Table Buffering (BTW, we decided today to switch to record buffering, because it's dangerous, that user may hit revert button and revert all changes made), when we try to move scroll button on scroll bar, it doesn't move and stays unchanged. I'm wondering, if somebody else experienced this behavior and does it have a cure? <<
>
>I have never experienced this behavior because I never use row buffering < s >. IMHO, row buffering has no place in an application, and particularly not in grid RecordSOurces. Grids, by there very nature, lend themselves to table buffering.
>
>The TABLEREVERT() function takes arguments. The first of these tells the function the scope of the records to revert (all records or just the current record). Maybe you would be better off to stay with table buffering and modify the code you are using to revert records and make its scope the current record only.
>
>Using row buffering in a grid is just asking for trouble. Whenever the user moves to a nbew row, VFP will alutomatically attempt a TABLEUPDATE of the row they are moving off of. Bad news!
>
>Marcia

Hi Marcia,

I believe, I noticed this strange effect on one particular application. It might be related to a filter or code in AfterRowColChange. We made an experiment: when we started an application and made some changes, this scroll button didn't do its work. Once we did tablerevert() on the whole table, it started to work again, as it should. I agree, that table buffering seems to be better. Perhaps, we should re-think our framework and make revert button to revert only one current record. I'll pass this idea into our team to discuss.

BTW, I've just replicated this problem at home. I moved this button to the upper position. Now I'm trying to change its position, but it resists and moves back to the most upper position. I'm sitting on the top record.

The grid class is based on Cetin's highlighted grid and has this code in its AfterRowColChange:
********************************************************************
*  Description.......: grdAddrStd.AfterRowColChange
*  Calling Samples...:
*  Parameter List....:
*  Created by........:
*  Modified by.......: Nadya Nosonovsky 06/29/2001 11:23:00 PM
********************************************************************
lparameters nColIndex
thisform.lockscreen=.t.
local lnReccount, lnRecno
lnReccount=reccount('BldMstr')
lnRecno=recno('BldMstr')
with thisform
	if this.nCurRec<>m.lnRecno
		.NavStand.navupdate()
		.edtNotes.refresh()
		if .ProcType='prclproc' and .SubProc='ppsitus' and not .lShowStateAddress
			.RequeryGridSources()
		endif
	endif
	this.statusbartext=space(20)+"Record "+ transform(m.lnRecno)+" of "+ ;
		transform(m.lnReccount)+ " in BldMstr (Total number of records to process " + ;
		transform(.nRecordToProcess) + ")"
endwith
dodefault(m.nColIndex)
thisform.lockscreen=.f.
Also this grid is instantiated in run-time.
If it's not broken, fix it until it is.


My Blog
Previous
Reply
Map
View

Click here to load this message in the networking platform