Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
ScrollBar on the grid
Message
 
 
À
21/07/2001 08:12:35
Information générale
Forum:
Visual FoxPro
Catégorie:
Classes - VCX
Divers
Thread ID:
00533414
Message ID:
00533535
Vues:
13
>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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform