用户从格式化屏幕确认 [英] User confirmation from a formatted screen

查看:99
本文介绍了用户从格式化屏幕确认的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发了一个从电子表格运行的应用程序。它有一个格式化的屏幕,即。 doc.show(应用程序
)。有一个质量改变功能。我想提示用户'您确定...可以继续'。



理想的解决方案是弹出式窗体,其中包含可以继续的响应。

我无法找到提示用户并接受不同时取消格式化屏幕的响应的方法。



我知道必须有一个简单的方法来执行这个。我搜索了这个论坛和其他人,但是找不到适用于Google Spreadsheets的解决方案。

解决方案

我发现了一个非常简单的解决方案,即创建一个实际上可以遮盖整个UI(或其中的一部分)并且通常不可见的面板或标签。
当我使它可见时,我可以点击它,它会再次变得不可见,并且我回到了标准的用户界面。它使用GUI构建器中的功能来前后移动元素,因此遮罩非常容易(一种多层设计)。我猜想用脚本定义的用户界面可以实现同样的行为,但我不知道如何...
问候,
Serge



编辑:For信息:我只是使用这种技术设置了一个界面,并且我注意到已经制作不可见的面板必须与其所有元素一起恢复,否则它们会重新出现空白。这里使用Clienthandlers是一个包含两个面板和两个按钮的示例:

  var panhandler0 = app.createClientHandler()$ b $ .forTargets(panel1).setVisible(false); //当按下'ENTER'按钮时,隐藏panel1 
enter.addClickHandler(panhandler0);
var panhandler1 = app.createClientHandler()
.forTargets(panel2,msg,grid2).setVisible(true); //当panel1上的按钮'ENTER'被按下时显示panel2
进入。 addClickHandler(panhandler1);
var panhandler2 = app.createClientHandler()
.forTargets(panel2,msg,grid2).setVisible(true); //当panel2被按下时'retry'按钮重新显示panel2
retry.addClickHandler(panhandler2);
var panhandler3 = app.createClientHandler()
.forTargets(panel2).setVisible(false); //当按钮'retry'按下panel2时隐藏panel2
retry.addClickHandler(panhandler3) ;
var panhandler4 = app.createClientHandler()
.forTargets(panel1,txt,grid,hpanel).setVisible(true); //当按下'retry'按钮时,重新显示panel1

很好用!


I developed an app that runs from a Spreadsheet. It has a formatted screen, ie. doc.show(app ). There is a mass change function. I'd like to prompt the user for 'Are you sure ... OK to Continue'.

The ideal solution would be a pop-up form with an "OK to continue" response.

I can't find a way to prompt the user and accept a response that doesn't simultaneously take down the formatted screen.

I know there must be a easy way to do this. I searched this forum and others, but cannot find a solution that applies to Google Spreadsheets.

解决方案

When using the GUI Builder I've found a very simple solution that is to create a panel or a label that is actually masking the whole UI (or part of it) and that is normally invisible. When I make it visible I can click on it, it turns invisible again and I'm back on the standard UI. It uses the ability in GUI builder to move elements backwards and forwards so masking is very easy (a sort of multi layer design). I guess the same behavior is achievable with script defined UI but I'm not sure how... regards, Serge

EDIT : For information : I just set up an interface using this technique and I noticed that panels that have been made invisible must be restored along with all their elements otherwise they reappear empty. Using Clienthandlers here is an example with two panels and two buttons that do the job :

  var panhandler0 = app.createClientHandler()
     .forTargets(panel1).setVisible(false);// hide panel1 when button 'ENTER'on panel1 is pressed
   enter.addClickHandler(panhandler0);
  var panhandler1 = app.createClientHandler()
     .forTargets(panel2,msg,grid2).setVisible(true);// show panel2 when button 'ENTER' on panel1 is pressed
   enter.addClickHandler(panhandler1);
  var panhandler2 = app.createClientHandler()
     .forTargets(panel2,msg,grid2).setVisible(true);// re-show panel2 when button 'retry'on panel2 is pressed
  retry.addClickHandler(panhandler2);
  var panhandler3 = app.createClientHandler()
     .forTargets(panel2).setVisible(false);// hide panel2  when button 'retry'on panel2 is pressed
  retry.addClickHandler(panhandler3);
  var panhandler4 = app.createClientHandler()
     .forTargets(panel1,txt,grid,hpanel).setVisible(true);// re-show panel1 when button 'retry'on panel2 is pressed

Works nicely !

这篇关于用户从格式化屏幕确认的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆