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