实现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 编辑过 |
关键字查询
相关文章
正在查询... |