在這邊介紹一個相當簡單可以達到需求的方案。
圖片程式版本: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 時表格無法編輯的特性來取消編輯外框 。
如此一來就可以得到一個還不錯的表格操作體驗!
簡單的範例在這邊下載。