找回密码
 立即注册

QQ登录

只需一步,快速开始

syokouken

论坛元老

14

主题

42

帖子

5954

积分

论坛元老

积分
5954

活字格认证

syokouken
论坛元老   /  发表于:2014-1-20 17:26  /   查看:4433  /  回复:1
你好,我们用的是5.0版本的Spread
有如下的问题:

我们想进行以下的处理
Cell1输入值后
通过输入值从DB中查询出结果 显示在Cell2中
用什么方法或者有具体的现实sample吗?

谢谢

1 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-1-21 16:07:00
沙发
回复 1楼syokouken的帖子

实现思路如下:
1 在Cell1输入值后--光标跳转后,触发前台事件:
  
  1. <ClientEvents EditStopped="FpSpread1_EditStopped" />
复制代码

2 在前台事件中,调用Update callback方法

  1. var spread = this.document.getElementById("FpSpread1");
  2. spread.UpdatePostbackData();
  3. spread.CallBack("Update", false);
复制代码

3 在后端的UpdateCommand里面获取输入的值,查询DB,赋值给第二个。

  1.    protected void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.         {
  3.             //取得事件名称               
  4.             string commandName = e.CommandName;
  5.             //取得当前操作表单               
  6.             FarPoint.Web.Spread.SheetView currentSheet = e.SheetView;
  7.             //取得编辑               
  8.             ArrayList editValues = e.EditValues;
  9.             //获取当前 Update 列            
  10.             int currentCol;
  11.             //通过判断当前元素类型获取当前列            
  12.             for (int i = 0; i < editValues.Count; i++)
  13.             {
  14.             }
  15.             //通过 CommandArgument 获取当前行        

  16.             int currentRow = (int)(e.CommandArgument);

  17.             e.SheetView.Cells[1, 1].Text = "New Value";
  18.         }
复制代码


样例文件见附件:

demo.rar (2.09 KB, 下载次数: 342)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部