LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Refresh table

Hello!
Using also your example "Test Results.prj",I have been noticed that the
tables objects every time that a program call a SetTableCellVal() the
table itself is "refreshed" so, if there are multiple values, filling a
table went very slow. Of course is possible to set a table cell
selection and this in really faster(the same speed of a single cell...),
but if the data aren't omogeneous (i.e. doubles, ints, srings etc) is'nt
possible to use SetTableCellRangeVals(). Is any call available (i have
in mind a similar call that exist for the graphics that have a similar
"refresh"problem) to stop the update until a specific call is called?
The only way that I have found is to hide panel, update values, and then
re-display the panel, but is'nt so elegan
t... Any other (more elegant)
solution?

Thanks in advance
Raffaele
0 Kudos
Message 1 of 5
(3,852 Views)
Using the ATTR_CTRL_VAL attribute with SetTableCellVal or SetTableCellRangeVals can do what you need, unless the table is the active control in the panel, in which case it won't really make any difference. If it is the active control, you could temporarily make another control active, or you could temporarily hide the control. If you don't process events between the time when you hide the table and you re-show the table, then there will be no visual impact.

Luis Gomes
NI
Message 2 of 5
(3,852 Views)
Hello Raffael

I always use "SetTableCellAttribute" with "ATTR_CTRL_VAL", when I need to
change a lot of values in an table.
This function does not refresh the screen and is very fast.

Good luck

Stephan

"raf" schrieb im Newsbeitrag
news:3D7C5E7D.5080606@elettra.trieste.it...
> Hello!
> Using also your example "Test Results.prj",I have been noticed that the
> tables objects every time that a program call a SetTableCellVal() the
> table itself is "refreshed" so, if there are multiple values, filling a
> table went very slow. Of course is possible to set a table cell
> selection and this in really faster(the same speed of a single cell...),
> but if the data aren't omogeneous (i.e. doubles, ints, srings etc) is'nt
> possibl
e to use SetTableCellRangeVals(). Is any call available (i have
> in mind a similar call that exist for the graphics that have a similar
> "refresh"problem) to stop the update until a specific call is called?
> The only way that I have found is to hide panel, update values, and then
> re-display the panel, but is'nt so elegant... Any other (more elegant)
> solution?
>
> Thanks in advance
> Raffaele
>
0 Kudos
Message 3 of 5
(3,852 Views)
Thanks,
all of the solutions that you have proposed are working fine!
Many thanks to all!


Raffaele

PS: can NI collect this sort of tips&tricks and add it to future
manuals, and/or anyone has written a manual/book with these and maybe
more? I have noticed that it exist an nearly infinite variety of
manuals/books for MS VisualC but I haven't found anything for CVI...


Luis Gomes wrote:
> Using the ATTR_CTRL_VAL attribute with SetTableCellVal or
> SetTableCellRangeVals can do what you need, unless the table is the
> active control in the panel, in which case it won't really make any
> difference. If it is the active control, you could temporarily make
> another control active, or you could temporarily hide the control. If
> you don't process events between the
time when you hide the table and
> you re-show the table, then there will be no visual impact.
>
> Luis Gomes
> NI
0 Kudos
Message 4 of 5
(3,852 Views)
Thanks,
all of the solutions that you have proposed are working fine!
Many thanks to all!


Raffaele

PS: can NI collect this sort of tips&tricks and add it to future
manuals, and/or anyone has written a manual/book with these and maybe
more? I have noticed that it exist an nearly infinite variety of
manuals/books for MS VisualC but I haven't found anything for CVI...


Stephan Gerhards wrote:
> Hello Raffael
>
> I always use "SetTableCellAttribute" with "ATTR_CTRL_VAL", when I need to
> change a lot of values in an table.
> This function does not refresh the screen and is very fast.
>
> Good luck
>
> Stephan
>
> "raf" schrieb im Newsbeitrag
> news:3D7C5E7D.5080606@elettra.trieste.it...
>
>>Hello!
>>Using also your example
"Test Results.prj",I have been noticed that the
>>tables objects every time that a program call a SetTableCellVal() the
>>table itself is "refreshed" so, if there are multiple values, filling a
>>table went very slow. Of course is possible to set a table cell
>>selection and this in really faster(the same speed of a single cell...),
>>but if the data aren't omogeneous (i.e. doubles, ints, srings etc) is'nt
>>possible to use SetTableCellRangeVals(). Is any call available (i have
>>in mind a similar call that exist for the graphics that have a similar
>>"refresh"problem) to stop the update until a specific call is called?
>>The only way that I have found is to hide panel, update values, and then
>>re-display the panel, but is'nt so elegant... Any other (more elegant)
>>solution?
>>
>>Thanks in advance
>> Raffaele
>>
>
>
>
0 Kudos
Message 5 of 5
(3,852 Views)