找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-16 14:45:00
31#
我对上面两种方法的Demo进行测试,选择之后可以将选择的值赋给单元格
测试环境:IE8和IE9
操作步骤:
1、双击主界面中单元格,进入编辑状态之后,点击检索按钮
2、在弹出的检索窗体中选择需要的数据,比如说选择第4行数据,职员名称为陈小二
3、点击弹出窗体中的确定按钮,此时弹出画面会自动关闭,同时主窗体中spread单元格会自动设置为陈小二

请问你使用哪个Demo测试会出现这个问题,你的测试环境和操作步骤是否和上面的有不同之处。
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-4-16 14:54:00
32#
我是使用第二个demo测试的。
测试代码很简单,就是增加一个按钮,里面代码为:
this.FpSpread1.ActiveSheetView.Cells[0, 1].Value =
                this.FpSpread1.ActiveSheetView.Cells[0, 0].Value;
即,将第一个格的值付给第二个格。(以上是在我选择一个数据后)
你可以测试看看。看是否OK?
谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-16 15:30:00
33#

回复 32# sam 的帖子

如果Cells[0,0]单元格的值是在客户端才输入的,必须点击CommandBar上的Update按钮之后才能在后台代码中得到Cells[0,0]的值,如果没有进行update操作的,输入的值还保留在客户端,并没有提交到服务端。
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-4-16 15:41:00
34#
哦。了解,所以,我在賦值之前調用了下:this.FpSpread1.SaveChanges();
這樣就可以取到值了。
但是我想問下,調用以上方法會不會影響到性能(如果有較大數據量時)?
謝謝!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-16 15:51:00
35#

回复 34# sam 的帖子

因为客户端录入的数据肯定是需要提交后台,要么通过点击Update按钮,要么通过SaveChanges。通过SaveChanges提交可以在开发过程中根据业务需要来确定调用时机,而Update只能有使用者调用。

总之,不管通过哪种方式提交,提交数据所消耗的时间是不可避免的。所以,通过调用SaveChanges提交数据,我觉得这种情况下不必太在意性能的问题。
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-4-16 16:14:00
36#
那好的。那我就這樣應用上去吧。非常感謝您的這些回復。謝謝!
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-4-16 16:16:00
37#
能不能改善點擊那個查詢按鈕,不用鼠標點擊,能否通過鍵盤某個鍵來觸發(如回車鍵等)?
因為我們客戶是要能快速錄入數據的。看是否可以實現?
謝謝!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-16 17:08:00
38#
可以给 TextBox 添加一个 onkeydown 事件,如果keycode = 13,就显示数据检索对话框

修改PopupCellType:
  1.             // 用户可以直接在 TextBox 中输入数据
  2.             TextBox tb = new TextBox();
  3.             tb.Width = new Unit(99, UnitType.Percentage);
  4.             tb.ID = "PopupEditor";
  5.             // 如果不希望用户直接输入数据,可以将TextBox设置为ReadOnly,这样就可以保证数据的有效性
  6.             // tb.ReadOnly = true;
  7.             tb.Attributes.Add("onkeydown", "return EnterPress(event)");
  8.             cell.Controls.Add(tb);
  9.             row.Cells.Add(cell);
复制代码
添加JS:

  1.     <script language="javascript" type="text/javascript">
  2.     function EnterPress(e) {
  3.         if (e.e.keyCode== 13) {
  4.             ShowPopup();
  5.         }
  6.     }
  7. </script>
复制代码
回复 使用道具 举报
sam
论坛元老   /  发表于:2012-4-16 17:26:00
39#
请问:Js代码添加到哪里?我测试了,好象没有那种效果。谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-4-16 17:50:00
40#
JS添加到PopupByModal.aspx页面中

注意 e.keyCode 中的k是小写,C是大写
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部