Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Grid question
Message
From
11/05/2007 11:08:22
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
 
 
To
10/05/2007 18:58:37
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Environment versions
Visual FoxPro:
VFP 8 SP1
Miscellaneous
Thread ID:
01224380
Message ID:
01224652
Views:
15
>We have a customized grid class. In this class, a single click on a column header sorts the record source on that column. You can also click on a column heading and drag the column to another position on the grid. This action causes the sort to be performed. My questions
>
>1. Is it standard practice to have the single click perform the sort or is it more common to use a double-click?
>
>2. Assuming that I leave the sorting code in the Click method, is there any way to capture the fact that the column order has changed and then bypass the sorting code?
>
>3. Moving a column does not appear to change it's location in the grid.columns() array. For example. I pick up column 7 and move it to be column 5. The active column is now column 5 but a reference to grid.column(activecolumn).controlsource point the original column 5. Is there a simple way to re-order the reference in the grid.columns() array?

Since nobody answered the (3), the trick is in the column events which have a nIndex parameter. This parameter is NOT an index into the .columns[] collection, it's the column order. You may need some code which will retrieve column index from column order. You can loop through .columns until you find one where .columns[i].columnorder=nIndex, or have an array of column indexes by columnorder... like this (assuming you don't have 6 columns and a columnorder of 200 on 4th column):
this.addproperty("aCols[1]")
dimension this.aCols[this.columncount]
for i=1 to this.columncount
   this.acols[this.columns[i].columnorder]=i
endfor
You'd have to re-run this whenever a column is moved. Then in any method which needs it...
lparameters nIndex
nColIndex=this.aCols[nIndex]
with this.columns[nColIndex]
...

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform