實現ListView可編輯功能,想學VBA的朋友千萬別錯過,InkEdit控件
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
內容提要
我們在用戶窗體上添加幾個控件:
1、InkEdit控件,這個控件類似于TextBox控件,但它有句柄(Handle)屬性,可以通過API函數來控制它。 2、全選按鈕,點擊選中所有記錄,按鈕變成“全消”,再點擊,取消所有勾選,按鈕變回“全選”。 3、刪除按鈕,刪除選中的記錄。 4、是否修改復選框,勾選則顯示刪除按鈕,同時ListView可編輯,不勾選則隱藏刪除按鈕,ListView不可編輯。復選框的值變化時,同步更新工作表Settings的值。 1、增加一張工作表Settings,用來保存一些設置選項,目前只有一個“修改狀態”,取值On和Off,當為On時,在啟動用戶窗體是,是否修改復選框處于勾選狀態,反之則不勾選:
2、工作表的CodeName修改了一下,方便直接引用: 1、用戶窗體啟動時,我們把數據表shData裝入數組,并添加到ListView,同時將月份、姓名添加到兩個復合框的List,供下拉選擇。 2、當我們點擊ListView的ListItem時,如果是否修改處于勾選狀態,同時點擊的單元格是設定為允許編輯的,則在其上顯示InkEdit控件,我們在InkEdit中輸入新的值(看上去就像在ListView中輸入一樣),按回車或方向鍵或鼠標點擊其他單元格,則完成修改。如果連續按擊Esc鍵兩次,則取消修改。 3、修改內容會立即更新到工作表。 完整代碼文本,詳見另一條推文。 1、我們實現了ListView的編輯功能,同時更新工作表,我們沒有做“新增”功能,即在工作表中新增一條記錄,主要是考慮直接在工作表中新增記錄會更方便一些。如果是更新數據庫,那么“新增”功能是必不可少的。 2、我們的編輯功能還是比較簡陋,需要純手工輸入。還可以進一步優化,比如: (1)日期采用「日期控件」來輸入。 (2)姓名、性質、狀態,可以使用下拉列表輸入,可以在Setting表中添加相應的選項。 (3)金額,進行一些合規性校驗,確保輸入的是數字。 (4)如果有計算關系的字段,如數量*單價等于金額,我們可以通過數據、單價的變化來自動計算金額。 3、上述優化項目,由于時間關系,加之我們在以前的案例中也分享過,就不打算再搞了。感興趣的朋友可以自己摸索,有問題可以留言討論,如果自己搞不定,但是又急需使用這樣的功能的,歡迎付費定制,價廉物美、童叟無欺。 4、本案例實現ListView可編輯的方法,參考自EXCELHOME的一個貼子,我把網址放在這,感興趣的朋友可以去看看,樓主解釋得非常全面: 閱讀原文:原文鏈接 該文章在 2025/2/5 17:01:29 編輯過 |
關鍵字查詢
相關文章
正在查詢... |