具有CellEditing的ExtJs 4 GridPanel:输入的数据在验证失败时丢失,这个问题涉及到了前端开发和数据验证。在ExtJs 4中,GridPanel是一个常用的组件,而CellEditing是GridPanel的一个插件,用于实现单元格编辑功能。
当用户在GridPanel中编辑单元格时,可能会输入不符合预期的数据,例如输入了不正确的格式或超出了范围等。为了避免这种情况,可以在数据验证失败时采取一定的措施,例如恢复原始数据或提示用户重新输入。
在ExtJs 4中,可以通过监听CellEditing的beforeedit事件来实现数据验证。在事件处理函数中,可以对用户输入的数据进行验证,如果验证失败,可以使用record.reject()方法恢复原始数据,或者使用Ext.Msg.alert()方法提示用户重新输入。
以下是一个示例代码:
var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1,
listeners: {
beforeedit: function(editor, e, eOpts) {
// 在这里进行数据验证
if (e.value === '') {
Ext.Msg.alert('错误', '输入不能为空');
return false;
}
if (isNaN(e.value)) {
Ext.Msg.alert('错误', '输入必须是数字');
return false;
}
if (e.value < 0 || e.value > 100) {
Ext.Msg.alert('错误', '输入必须在0到100之间');
return false;
}
}
}
});
var grid = Ext.create('Ext.grid.Panel', {
// ...
plugins: [cellEditing],
// ...
});
在这个示例中,我们使用了CellEditing的beforeedit事件来进行数据验证,如果验证失败,则使用Ext.Msg.alert()方法提示用户重新输入。
总之,在使用具有CellEditing的ExtJs 4 GridPanel时,需要注意进行数据验证,以确保用户输入的数据符合预期的格式和范围。
ExtJS 4 支持所有主流的浏览器,从IE 6 到最新的谷歌Chrome。在开发期间,我们建议你使用下面这些浏览器,以获得更好的调试体验。 Ø Google Chrome 10+ Ø Apple Safari 5+ Ø Mozilla Firefox 4+ 带Firebug Web 开发插件 本教程假设你正在使用最新的谷歌 Chrome 浏览器。如果你还没有 Chrome,花点时间去下载它吧,然后去熟悉熟悉 Chrome 的开发者工具。 尽管使用 ExtJS 4 并不一定需要一个本地的web 服务器,仍然强烈建议你在开发的时候能有一个,因为 XHR 在大多数浏览器上有针对本地 file:// 的cross origin 限制。如果你还没有本地的web 服务器,建议你下载并安装 Apache HTTP Server。 Ø 了解在 Windows 上面安装 Apache Ø 了解在 Linux 上面安装 Apache Ø Mac OS X 已经内置了apache,你可以在 System Preference > Sharing 下面的 Web Sharing 旁找到 一旦你安装好了 Apache ,你可以通过在浏览器地址栏输入 localhost 验证它是否在运行。你会看到一个表示 Apache HTTP 服务器已经成功安装并且正常运行的开始页面。 下载 Ext JS 4 SDK,把压缩包解压到一个在你的web 根路径下新建的extjs文件夹。如果你不知道web根目录在哪儿,查阅你web服务器的相关文档。Web 根路径的位置根据你操作系统的不同而有所不同,但是如果你使用的是 Apache,你一般会在: Ø Windows - "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" Ø Linux - "/var/www/" Ø Mac OS X - "/Library/WebServer/Documents/" 一旦你已经完成安装,将浏览器导航至 http://localhost/extjs/index.html 。如果一个 ExtJS 4 的欢迎页面出现了,代表你已经一切就绪了。 如下所列的建议尽管不是强制的,但是可以作为最佳实践指南考虑,以保持你的应用的结构条理性、可扩展性和可维护性。下面是推荐的Ext JS 应用程序结构: - appname - app - namespace - Class1.js - Class2.js - ... - extjs - resources - css - images - ... - app.js入门
1. 需求
1.1 网页浏览器
1.2 Web 服务器
1.3 Ext JS 4 SDK
2. 应用程序结构
2.1 基本结构
领取专属 10元无门槛券
手把手带您无忧上云