我们经常利用按钮进行一些页面值的处理工作,但是默认的逻辑造成,每次新填报的值,需要点击下空白区域或是执行某个其他操作才可以被正确读取,那么我们如何处理呢?
例:当我们用常规取值的时候,虽然B3单元格录入了值,但是在光标不离开B3的前提下,用JS只获取到了控制而不是实际的值“2”。
想获得B3的值,需要在空白处点击下鼠标,让文本框的左上角的红三角出现才可以。
优化过后则可以将光标强制跳转到A2单元格,使其获得光标,进而强制B3单元格刷新值。
既然任意点击空白处就可以,那么我们就用JS来强制跳转光标实现同样的功能。
模板制作
模板样式设计如下,A3和B3单元格添加文本控件,C3单元格为A3和B3相加值,D3和E3单元格添加按钮控件:
“直接相加”按钮的JS
D3控件名称为直接相加,添加一个点击事件
var B3 = contentPane.curLGP.getCellValue("B3");
var A3 = contentPane.curLGP.getCellValue("A3");
alert("a3的值:"+A3);
alert("b3的值:"+B3);
“优化后”按钮的JS
E3控件名称为优化后,添加一个点击事件
contentPane.curLGP.selectTDCell("A2");
var B3 = contentPane.curLGP.getCellValue("B3");
var A3 = contentPane.curLGP.getCellValue("A3");
alert("a3的值:"+A3);
alert("b3的值:"+B3);
contentPane.curLGP.selectTDCell(“A2”):表示的是,将光标强制跳转到A2单元格,也就相当于用鼠标点击了一下A2单元格,使其获得光标,进而强制B3单元格刷新值。
常见场景
用户通过文本框填报了值,而需要对这个值进行取出判断的时候,经常会取空值,只有用户点击了空白区域,才可以正常取值。
比如:用户填写了手机号码,就可以跳转到领取奖品的页面,若手机号码是最后一个填报栏,填写后,用户直接提交,系统则会认为,手机号码一栏为空。
相关推荐
总结来说,在FineReport中,利用JavaScript来解决控件值刷新不及时的问题是一个实用的技术手段。通过掌握和应用该技术,可以有效提升报表的交互性和用户体验。在编程实现时,关键在于理解FineReport数据刷新机制的...
在FineReport中,JavaScript的使用主要体现在控件事件的触发上。事件触发机制是JavaScript与用户交互的关键,能够根据用户的操作动态响应,从而增强报表的互动性和功能性。以下是FineReport中几种常见的事件触发类型...
总的来说,这个资源包提供了一个完整的解决方案,包括了FineReport的报表模板、SQL动态生成逻辑以及JavaScript交互增强。对于希望提升报表功能和用户体验的开发者来说,这是一个非常有价值的参考实例。通过学习和...
最后,FineReport在JS调用框架中还支持参数控件、表单控件、控件事件、编辑前/后/结束事件等事件,这些事件可以用于在报表中增加更多的交互性。例如,通过在事件中编写JS代码,可以实现对数据的动态处理,增强报表的...
在本题中,我们需要实现的是一个基于帆软报表平台(FineReport)的页面实时排序功能。这个功能要求在用户输入附加分数后,无需刷新页面就能即时看到合计分数和排名的更新。以下是详细的技术实现步骤: 1. **数据...