Advertisement

ExtJS + EditGrid 显示相关问题

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:RAR


简介:
在Grid中集成一个ComboBox组件,通过在每个表格单元格中添加ComboBox组件,用户可以选择其显示的值。这种设计显著提升了用户体验,并有效减少了用户的数据录入量,并显著提高了工作效率。但是学习Ext开发初期阶段时,常会碰到一个具体问题:如何使输入设置的数据项以某种形式在grid中呈现?问题来源:具体表现为向grids中的每一个单元格嵌入一个comboBox控件,在接收到来自valueField的数据后,该comboBox会将相应的值传递到grids中对应的单元格,并将其显示在界面上。 1 男 2 女上面是一个下拉列表的值,1和2是ID,这些ID 应该等同于 comboBox 的 valueField 属性。name 为男性或女性的部分则应与 comboBox 的 displayField 等同。值得注意的是,在 ext 中的 comboBox 与其在 html 中的行为有所不同。具体来说,在 ext 的 comboBox 中,valueField 对应 html.select 的 value属性,而 displayField 则对应 innerHTML。从逻辑上讲,应该是这样的设计。然而由于comboBox放置在grid中会导致出现以下现象:当用户点击comboBox时可能出现的情况是例如女。此时comboBox赋值于grid的位置应对应其id号码2因此grid将正确地显示该id号码客户自然不想在grid中显示的数据是他不理解的。问题来了:如何让comboBox选择之后返回到grid中的值是displayField的值而不是valueField呢?解决办法:通过引入renderer实现...以下是具体的代码实现:其中包含的主要步骤有初始化变量、数据处理核心逻辑以及结果输出三个阶段。const colM = new \Ext.grid.ColumnModel([\n\n{\n header: 编号,\ dataIndex: deal_id,\ sortable: true,\ width: 100\n},\n\n{\n header: 工序,\ dataIndex: process_name,\ sortable: true,\ width: 200,\ editor:\n new \Ext.form.ComboBox(\n id: combo_process,\ store: store_process,\ valueField: process_id,\ displayField: process_name,\ forceSelection: true,\ typeAhead: true,\ triggerAction: all,\ selectOnFocus: true\n)\n}\n\n, renderer:\n function(value, cellmeta, record) {\n从id为combo_process的comboBox中获取选中的值。通过store_process库查找指定字段的值,find(getComponent(combo_process).valueField, value);然后获取对应位置的对象记录。初始化displayText变量为空;如果没有对下拉列表进行任何选择操作,则返回传入的参数value;其中该值即来自grid表中对应列deal_with_name的数据。如果record为null,则直接返回value。设置为默认值的返回操作是该方法与其他常见解决方案不同的关键点。经过仔细研究发现,这种方案是经过验证的正确选择。通过长时间的研究和思考,我才认识到这一本质特点。displayText = value; } else { displayText = record.data.process_name;获取record中的数据集中的process_name字段的值 } return displayText; } },}]);查看这段代码时,请务必仔细核对。网络上的实例存在诸多错误。这些在线示例在record为null或为空的情况下缺乏处理措施,从而使返回给grid的内容成为一个空字符串。这种情况下,当初始化grid时添加了combobox字段后,该字段的数据无法正确展示。if (record == null) { 当记录等于null时,则执行相应的处理。}设置为默认值,这一做法不同于当前普遍采用的方案。该方法是经过深入研究后确定的最佳选择。在反复思考和验证之后才意识到这一点。 }该段代码具有解决方案的能力。问题的出现原因是什么?经分析发现,修改renderer后,返回的数据来源于comboBox。在初始化阶段时,comboBox未被指定具体数值。换言之,它处于未赋值状态。因此renderer将返回一个空白数据。导致grid中的数据显示为空,或者直接呈现无内容的状态。当comboBox返回为空时,我将返回的空值设为传入的value。即是我们数据库中的数据。为了解决问题,我花费了两天时间。希望能帮助那些学习ExtJS的朋友们。在网络上充斥着大量复制粘贴的内容,一旦出现错误就会导致全篇内容出错。这确实让人感到沮丧。真正能够理解并纠正这种问题的人却非常之少。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • PowerMILL
    优质
    本文探讨了在使用PowerMILL软件过程中遇到的各种显示问题,并提供了相应的解决方案和优化建议。 在Windows 8系统下遇到策略图框无法完整显示的问题时,可以尝试以下方法解决:主要原因是微软雅黑字体导致窗口变长,在14寸笔记本上会出现类似问题,当然如果使用更大尺寸的显示器则不会有问题。
  • GBase8S.docx
    优质
    该文档主要讨论和解答关于GBase 8S数据库系统使用过程中遇到的各种常见问题,旨在帮助用户更好地理解和应用这一高效的数据管理工具。 gbase8s认证题目整理共134题。
  • MSVCR110.DLL
    优质
    简介:MSVCR110.dll是Microsoft Visual C++ 2012运行库的一部分,用于支持在计算机上运行依赖此组件的应用程序。当该文件丢失或损坏时,可能会导致各种软件无法正常工作,并产生错误提示。解决这类问题通常包括重新安装Visual C++ Redistributable、修复Windows注册表条目或者从可信赖来源下载并替换正确的MSVCR110.dll文件。 修复系统中的MSVCR110.DLL问题通常需要重新安装Visual C++ 2012 redistributable package来确保所有依赖项都已正确安装。如果遇到错误提示,可以尝试从微软官方网站下载相应的修复包进行更新或替换DLL文件。在执行任何操作前,请备份相关数据以防丢失重要信息。此外,使用系统还原点恢复到问题出现之前的状态也是一个可行的方法。
  • vcruntime140_1库
    优质
    简介:本文讨论了在使用Microsoft Visual C++编译的应用程序中遇到的vcruntime140_1.dll相关问题及其解决方案。 **vcruntime140_1.dll:Windows系统的关键组件** vcruntime140_1.dll 是微软Visual C++运行时库的一个组成部分,在Windows操作系统中扮演着重要角色。这个动态链接库(DLL)文件是许多应用程序,尤其是使用C++编写的软件和游戏正常运行所必需的。当您尝试启动依赖于vcruntime140_1.dll的程序时,如果系统中缺失或损坏此文件,可能会遇到错误提示,导致软件无法启动。 **作用与功能** vcruntime140_1.dll 文件提供了一系列C++运行时库函数,包括内存管理、异常处理、多线程支持和IO操作等基本功能。这些功能使得开发人员无需从头编写代码即可在他们的应用程序中使用。此外,这个库还包含了一些优化的算法和数据结构,提高了程序性能。 **与Visual C++的关联** 该文件与Microsoft Visual Studio中的Visual C++编译器紧密相关。当开发者使用Visual C++创建应用程序时,编译器会将对vcruntime140_1.dll的依赖打包到可执行文件中。然而,为了在用户机器上运行,系统必须先安装相应的运行时库。微软通常通过 redistributable 包提供这些库,允许用户单独下载和安装。 **问题及解决方案** 如果你遇到了缺少vcruntime140_1.dll的错误,有几种可能的解决办法: - **重新安装运行时库**:从微软官方渠道下载并安装最新版本的Visual C++ Redistributable for Visual Studio,通常可以解决问题。不同年份的Visual Studio会对应不同的运行时版本,因此需要确保安装的是与出错程序相匹配的版本。 - **修复或重新安装软件**:有时问题可能是由于特定软件的问题引起的,尝试修复或重新安装该软件可能会解决这个问题。 - **检查病毒**:如果文件被病毒感染或篡改,请使用反病毒软件进行扫描和清理。 - **手动替换文件**:从可信赖的来源获取vcruntime140_1.dll文件,并将其复制到系统目录下,如`C:\Windows\System32`。但请注意谨慎操作,以免引入新的问题。 - **系统还原或重装**:在其他方法无效的情况下,可以考虑进行系统还原或重新安装操作系统。但这应该是最后的手段,因为这可能导致数据丢失。 **维护与更新** 保持操作系统和所有软件处于最新状态对于确保vcruntime140_1.dll和其他关键组件正常运行至关重要。定期检查并安装系统更新以及应用程序开发者提供的任何必要补丁可以帮助防止此类问题的发生。 vcruntime140_1.dll是Windows系统中不可或缺的一部分,理解其作用和重要性有助于我们更好地管理和修复与之相关的问题。如果遇到相关错误,请遵循上述步骤以有效解决问题,并保证系统的稳定运行。
  • ucrtbased.dll 文件
    优质
    简介:本页面提供关于ucrtbased.dll文件的相关信息和常见问题解答。包括ucrtbased.dll丢失、损坏或不兼容时的解决方法及下载链接等实用内容。 在Windows 7 64位系统上安装了Visual Studio 2015编译器,并且安装了Qt 5.6到5.7的VC2015版本,但在调试模式下运行程序时会崩溃,而profile和release模式下的程序则没有问题。经过检查发现,在system32和SysWOW64文件夹中存在ucrtbase.dll,其日期为2015年11月19日;但缺少了ucrtbased.dll这个调试版本的通用运行库文件。 值得注意的是,CRT(C Runtime Library)已经被重构为两个不同的二进制文件:一个通用 CRT (ucrtbase),包含大多数标准功能;另一个是VC 运行时库(vcruntime140),包含与编译器相关的功能。缺失的ucrtbased.dll可以在Windows 10 SDK中找到,位于C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt\ucrtbased.dll目录下,文件日期为2015年7月9日或者更晚版本。 将正确的ucrtbased.dll放置于系统的system32文件夹内后,Qt调试版程序可以正常运行。重要的是需要确保使用的ucrtbased.dll是自2015年7月9日起的版本,这样才能保证Qt调试模式下的程序能够顺利执行而不会出现崩溃问题。
  • MFC71.DLL文件
    优质
    简介:本文探讨了与MFC71.DLL文件相关的常见问题,包括该文件的作用、可能遇到的错误及其解决方法。提供详细的故障排查技巧和解决方案。 mfc71.dll是电脑程序运行时可能需要用到的文件。
  • Tomcat启动——APR
    优质
    本文章主要探讨Apache Tomcat在启动过程中遇到的与APR(Apache Portable Runtime)相关的常见问题,并提供解决方案。适合开发者阅读。 2010年8月11日 18:24:13 Apache Tomcat Native库未在java.library.path路径下找到,该库允许生产环境中的最佳性能,具体路径为:D:\Java\jre1.5.0_11\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft SQL Server\80\Tools\binn;D:\Java\jdk1.5.0_11\bin;D:\Tomcat 5.0\bin。 2010年8月11日 18:24:13 初始化 Coyote HTTP/1.1 信息:初始化Coyote HTTP/1.1在端口http-8080上完成。 2010年8月11日 18:24:13 Catalina启动 信息:初始化过程耗时984毫秒。 2010年8月11日 18:24:13 标准服务Catalina开始运行 信息:标准引擎Apache Tomcat5.5.23正在启动。 2010年8月11日 18:24:13 开始标准主机 信息:禁用XML验证。 2010年8月11日 18:24:13 Coyote HTTP/1.1开始运行在http-8080端口。 信息:JK正在监听地址为0.0.0.0的8009号端口上的ajp连接。 2010年8月11日 18:24:13 JkMain启动 信息:Jk运行,ID=0,时间=187毫秒,配置=null。 2010年8月11日 18:24:13 StoreLoader加载开始 信息:在类路径资源中找到服务器注册表server-registry.xml。 2010年8月11日 18:24:13 Catalina启动完成 信息:服务启动耗时为1235毫秒。 为了使Tomcat运行良好,需要安装apr支持。按照指示下载并复制文件tcnative-1.dll到C:\Windows\System32或将其放置在Tomcat的bin目录下后重启Tomcat即可解决问题。
  • Vue解决Data中对路径图片不
    优质
    本文介绍了如何在Vue项目中处理data对象里的相对路径图片无法正常显示的问题,提供了解决方案和实践方法。 本段落主要介绍了如何在Vue项目中解决data中的相对路径图片无法显示的问题,并提供了有价值的参考方法,希望能对大家有所帮助。
  • 于iframe滚动条的与隐藏.doc
    优质
    本文档探讨了如何使用CSS和JavaScript控制HTML页面中嵌入式iframe元素滚动条的显示与隐藏方法。 iFrame滚动条问题是指在使用iFrame时遇到的关于滚动条显示或隐藏的问题。这个问题通常出现在不同浏览器及文档类型声明(DOCTYPE)下,导致iFrame样式不一致。 解决此问题的方法包括: 1. 在iFrame标签中添加scrolling=yes 或 scrolling=auto 属性来控制滚动条的显示与隐藏。 2. 使用CSS中的overflow-x 和 overflow-y属性调整水平和竖直方向上的滚动条。 3. 确保在父页面及子页面中加入DOCTYPE声明,以帮助解决iFrame内的滚动问题。 例如,在XHTML 1.0 Transitional标准下可使用scrolling=yes 或 scrolling=auto 属性来处理此问题。而在CSS中,则可以通过设置body { overflow-x: hidden; overflow-y: hidden; } 来隐藏所有方向的滚动条,从而解决iFrame滚动条显示的问题。 综上所述,在不同浏览器和文档类型声明(DOCTYPE)下选择合适的解决方案可以有效应对iFrame滚动条问题。