Windev equivalent to a Clarion "hot field" for onscreen display

Startbeitrag von scott am 12.07.2011 19:31

In Clarion, I can create a window with a listbox control to display a table's information in a grid (columns/rows) - I can create string controls anywhere on the window, and for each string I can assign it to a field from the table. When the listbox is scrolled through (or a listbox entry is left clicked to select it), the contents of the string are automatically updated to reflect that record's information.

The end result is slick - I can have only a few columns displayed in the listbox control (i.e. the important ones needed primarily for sort order), and then use the string controls placed to the side of the listbox. When I use the keyboard's UP or DOWN buttons to scroll through the records, the screen is automatically updated.

I can't figure out how to do this in WinDev 16.


I found the answer buried in the CRM application. Not as simple as it was in Clarion (i.e. add the field into the HOT FIELD section of the procedure), but easy enough nonetheless. After opening the Window procedure for the table, I double left clicked the TABLE control, then clicked the 'Edit the Code' button. Inside the ROW SELECTION embed I added this code to update a static image control on the window:

// Row Selection of TABLE_VIDZ
//retrieve the video information
FileToScreen(WIN_Table_VIDZ, VIDZ)
// Update the static image control
IMG_ArtControl = VIDZ.ART

von scott - am 13.07.2011 02:14

you mentioned that you had the value of the fields in your listbox, you could do the same with windev, with a combo with a table instead of a list. and just uncheck the visible to the columns you don't need to show, but you have them accesible. So you don´t need to read the file again.

Just assign the Column Name of the image to the IMG control:

//Row Selection of TABLE_VIDZ
IMG_ArtControl = COL_ImageName

This should be your only code.

Andres Sanchez

von Andres Sanchez - am 13.07.2011 17:40
Hi Andres,

Originally I had the BLOB field being displayed in the table; however, the addition of that column was slowing down the initial display of the window by nearly 10 seconds and greatly slowed down scrolling up/down the table. I took out that column, which created the need to perform the HReadSeek() to find the record, and then display the BLOB.

I did not test adding BLOB column back into the TABLE control and making it hidden, and then seeing if I incurred a speed penalty or not

With Clarion there was no coding - I simply identified the field(s) that weren't being displayed in the listbox control as a Hot Field; add a STRING control to the window, and link it to the appropriate field - done.

von Scott - am 13.07.2011 22:06
Viva la Difference!


von Art Bonds - am 14.07.2011 22:30
Zur Information: hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.