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