How To - 如何使表格欄位被點下時會變色?

我想很多人都有這樣的需求,也有可能有許多種方式可以達到這樣的需求。
在這邊介紹一個相當簡單可以達到需求的方案。


圖片程式版本:LabVIEW 2013
範例程式版本:LabVIEW 2013


首先我們先建立一個包含表格的簡單迴圈,
同時增加一個 Table Control: Mouse Down 的 Event


接著從 Table Control 建立 Invoke Node >> Point to Row Column ,這個是可以將滑鼠在物件上的位置轉成欄位的方法。


接著從 Table Control 建立 Property Node >> Active Cell >> Active Call 以及 Cell Background Color


最後接線如下,其中 Coords 是輸出滑鼠在物件上的位置,藉由該位置轉成實際的欄位。同時迴圈上建立一個暫存器,儲存最後一次點下的欄位位置。最後利用屬性,將最後一次欄位改成白色,並把這次點下的欄位改成橘色


這邊利用到的技巧是 Property Node 執行順序是由上而下,所以只要在同一個 Property Node 上依序操作即可取消上次變更的顏色,同時執行此次變更顏色

最後為了執行上的流暢體驗,所以增加一個『當滑鼠離開表格的時候,取消顏色,同時取消編輯外框』的功能。
在此增加一個 Table Control: Mouse Leave 的事件,並且把最後一次變色的表格改成白色,下面再增加兩次的 Disable 屬性,第一次把表格 Disable ,接著把表格 Enable。利用 Disable 時表格無法編輯的特性來取消編輯外框


如此一來就可以得到一個還不錯的表格操作體驗!
簡單的範例在這邊下載。