找回密码
 立即注册

QQ登录

只需一步,快速开始

feixing1357

注册会员

10

主题

23

帖子

61

积分

注册会员

积分
61

活字格认证

feixing1357
注册会员   /  发表于:2010-5-17 09:01  /   查看:10404  /  回复:5
我想让spread响应CellChange之类的事件,就是在单元格的值一变化,但焦点没有离开单元格时就响应,请问能不能做到?

5 个回复

倒序浏览
gw0506
超级版主   /  发表于:2010-5-19 09:19:00
沙发
Spread for web没有类似CellChanged的事件。因为当server端知道client单元格的值变化,才可能做出反应。所以你可以想办法调用SaveChanges方法来通知service端,然后UpdateCommand事件就会发出。你可以在这个时候做些其他事情。

不过这个办法不一定对你有帮助。因为还不是很清楚你的具体用例。可不可以说的详细些。比如,你有两个Combo。第一个是各个省的名字,第二个是根据第一个选择的省不同,而列出该省所有的市。等等。
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-19 09:40:00
板凳
首先谢谢您的指导,我的需求就是像您说的那样:两个ComboBox,第一个是各个省的名字,第二个是根据第一个选择的省不同,而列出该省所有的市。不知道按您上面的方法能不能实现,而且我还想问一下:SaveChanges方法是怎么调用的?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-5-19 09:53:00
地板
关于调用SaveChanges,你可以在client端放个Submit button。用户选完了省,让他按submit。

不过对于你这个case,我刚好有个sample,使用AJAX。你目前用的是Spread 3,应该是支持AJAX的。

server端
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If (IsPostBack) Then Return
    Dim c1 As New FarPoint.Web.Spread.ComboBoxCellType
    c1.Items = New String() {"a", "b", "c"}

    FpSpread1.Sheets(0).Columns(0).CellType = c1
  End Sub


  Protected Sub FpSpread1_UpdateCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.UpdateCommand
    Dim c As New FarPoint.Web.Spread.ComboBoxCellType
    If Not (ReferenceEquals(e.EditValues(0), FarPoint.Web.Spread.FpSpread.Unchanged)) Then
      Select Case e.EditValues(0)
        Case "a"
          c.Items = New String() {"a1", "a2", "a3"}
        Case "b"
          c.Items = New String() {"b1", "b2", "b3"}
        Case "c"
          c.Items = New String() {"c1", "c2", "c3"}
      End Select
      FpSpread1.Sheets(0).Cells(e.CommandArgument, 1).CellType = c
    End If

  End Sub

client端

function window.onload() {
      FpSpread1.OnEditStopped=cellChanged;
    }
   
    function cellChanged() {
      FpSpread1.UpdatePostbackData();
      FpSpread1.CallBack("Update");
    }
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-19 10:48:00
5#
太感谢了
我来试一下
回复 使用道具 举报
feixing1357
注册会员   /  发表于:2010-5-21 09:46:00
6#
问题解决  太感谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部