2017-03-07 37 views
0

嗨,我是新來的tablelist,並在編輯單元格後瀏覽選項以讀取修改後的值。TCL tablelist - 如何使用-editend命令讀取修改後的值

global canvas 
set canvas .t 
tablelist::tablelist .t -columns { 0 TYPE 0 VALUE} -selectmode single \ 
     -selecttype row -editselectedonly 0 -editstartcommand editStartCmd \ 
     -editendcommand editEndCmd 

使用editStartcomand通話功能我能得到的細胞被編輯

proc editStartCmd {canvas row column initialText} { 
    global cell 
    set cell $row,$column 
    return $initialText 
} 

現在我不能知道要修改的值的過程,編輯之前的文本之間的比較並在編輯後。我閱讀了表格列表中的INTERACTIVE CELL EDITING,但想找一個例子來準確地找出程序。

回答

0

你已經擁有它的tablelist創建命令:

-editendcommand editEndCmd 

可以定義PROC editEndCmd比較值。比方說,您從PROC editStartCmd變量$initialText一個全局變量,那麼你可以使用類似:

proc editEndCmd {canvas row column finalText} { 
    global initialText 

    # e.g. both initialText and finalText are numbers 
    # Make the proc print 1 if the modified value is smaller, 0 if larger or equal 
    # to the initial value 

    puts [expr {$initialText > $finalText}] 

    return $finalText 
} 

如果$finalText是不恰當的,可以使上述PROC回報$initialText,使其恢復插入價值到它以前的價值。

+0

其清晰!我正在向前邁進。感謝幫助! – pcbnagaraj