找回密码
 立即注册

QQ登录

只需一步,快速开始

yaochenglong

高级会员

19

主题

68

帖子

1745

积分

高级会员

积分
1745

活字格认证

yaochenglong
高级会员   /  发表于:2015-10-23 17:16  /   查看:13743  /  回复:12
你好Alice:
           我们这里有这样子的一个需求,截图如下


FlexGrid初始化的时候如上图,没有数据,当我点击留房的时候,需要判断房类,定房数,留房数等有没有填写,有没有数据。如果没有需要提示用户填写信息。
如果用户填写了信息之后,我需要在用户点击留房的的时候,拿到用户刚才填写的信息。不知道怎么实现,请指教!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

12 个回复

倒序浏览
rbgongming
论坛元老   /  发表于:2015-10-23 18:10:00
沙发
回复 1楼yaochenglong的帖子

你好,你提出的问题是你的需求吧,应该不属于该控件的问题
你可以用代码取出房类,订房数,留房数是否为空,只要有一个
为空就弹出Message,大概的思路你自己都写出来了。如果是控
件的问题,或者你想要的动作不知道怎么实现的话,欢迎你继续
反馈。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-23 18:14:00
板凳
回复 1楼yaochenglong的帖子

感谢您对该问题的反馈。
从您的描述来看,您需要validation校验的功能,即在点击按钮的时候,做数据的校验(包含空值,合法值)的校验。
HTML5本身就支持简单的验证。
一个基本的HTML5的验证,如下:
  1. <form>
  2.     <input placeholder="User Name" name="name" required pattern=".{2,}" />
  3.     <input placeholder="Email" name="email" required type="email" />
  4.     <input placeholder="Password" name="pwd" required pattern=".{2,}" type="password" />
  5.     <input placeholder="Check Password" name="chk" type="password" />
  6.     <button type="submit">Create Account</button>
  7. </form>
复制代码

你可以在网上了解下相关的信息。

对于你说的拿到用户信息,可以通过点击按钮触发commitEdit方法,然后通过itemsEdit拿到。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
yaochenglong
高级会员   /  发表于:2015-10-23 18:33:00
地板
现在的问题是我是双击进入行内编辑,那么怎么给留房添加你说的commitEdit方法!
回复 使用道具 举报
yaochenglong
高级会员   /  发表于:2015-10-26 10:39:00
5#
你好:现使用FlexGrid遇到问题如下,如图:


FlexGrid初始化的时候只有列头,没有数据,并且初始化的时候,操作列的按钮需要初始化出来。
当我点击留房按钮的时候,这个时候是需要用户动态的输入完数据之后拿到的。   也就是每次用户输入完数据之后,我在点击留房按钮的时候,要拿到用户刚输入的这行所有的数据。
麻烦尽快回复我一个demo。谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-26 11:25:00
6#
回复 5楼yaochenglong的帖子

有两种方法,在之前都给过相关示例:
第一种:
在之前的帖子:http://gcdn.gcpowertools.com.cn/showtopic-18954-1.html
14楼,有帮您做过一个示例。
在示例中,点击eidt编辑按钮的时候,可以在一行进行编辑,编辑后的数据在commitRow的方法里通过inputDate.value可以拿到用户输入的值,然后通过flexgrid.setCellData方法再设置给单元格。
你可以将这个示例再看看。

第二种:有关FlexGrid的拿到编辑的数据的问题,以前在邮件里已经回复过您。
通过CollectionView类来监控改变的数据。首先设置trackChanges属性为true,然后通过三种方式可以获取到变化:
*itemsEdited
*itemsAdded
*itemsRemoved
您之前提交了一个bug,CollectionView.itemsEdited没有触发的bug,已经提交到产品组,BugID: 133887。

在线示例:
http://demo.gcpowertools.com.cn/ ... /infra/trackChanges
示例也可以在安装包中获取源码,路径:
\C1Wijmo-Enterprise_5.20152.84\Samples\JS\Angular\Explorer\Explorer\partials\infra
trackChanges.htm文件即为源码文件。

基于Angular的示例和纯JS只是框架不同,所使用的FlexGrid方法和事件都是一致的。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
yaochenglong
高级会员   /  发表于:2015-10-27 09:53:00
7#
你给个demo吧,我看不懂!
回复 使用道具 举报
yaochenglong
高级会员   /  发表于:2015-10-27 10:27:00
8#



你好Alice,要求如下,最后一行没有数据,但是最后一行的最后一列有个留房按钮,在最后一行数据手动录入之后,点击留房按钮,获取刚输入的数据。

麻烦你了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-27 11:26:00
9#
回复 8楼yaochenglong的帖子

谢谢提供的demo。
测试后给您反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-27 11:46:00
10#
回复 8楼yaochenglong的帖子

通过flexgrid.getCellData方法就可以拿到单元格的值。
根据示例按钮click的时候会调用editRow方法。
改变如下:
  1. function editRow(row) {
  2.             //editIndex = row;
  3.             //flex.invalidate();
  4.             // get the cell's data
  5.             var ID = flex.getCellData(row, 0);
  6.             var Name = flex.getCellData(row, 1);
  7.             var Date = flex.getCellData(row, 2);
  8.         }
复制代码


你在单元格输入值,然后点击按钮就可以获取到值。如果不输入值就是undified
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部