找回密码
 立即注册

QQ登录

只需一步,快速开始

lucham

初级会员

9

主题

22

帖子

259

积分

初级会员

积分
259

活字格认证

lucham
初级会员   /  发表于:2011-6-13 14:52  /   查看:6568  /  回复:3
spread5 for asp.net 开发时有什么功能不能实现吗?

我在VS2010和IIS7中使用试用时,发现很多问题。不知道是不是我的安装或者配置上没做好?

1)在UPDATE事件中 调用SAVECHANGES, 内置WEBSERVER 崩溃。

2) 在IIS7中调试时, 绑定数据源出现引用未赋值, 而在内置WEBSERVER调试时没有出现这个问题。

3) 在UPDATE事件中,可以修改SPREADSHEET中的CELL的值,而不能改外面的TEXTBOX的值。

4) 当对SPREADSHEET绑定数据源时, POSTBACK 回去后, 如何捕获修改过的CELL的值?

3 个回复

倒序浏览
gw0506
超级版主   /  发表于:2011-6-13 15:35:00
沙发
1. savechanges会触发Update,所以你这样调用会导致重入,server必然会崩溃。
2. 这需要分析具体错误信息。内置server没有问题说明问题不在程序上,考虑IIS配置以及数据源连接问题。
3. “外面的TextBox”指的是什么,是独立于Spread之外,在webForm添加的TextBox控件么?如果是,这可能与EnableAjexCall有关。将该属性值为false,整个页面会刷新,这样,外部的TextBox的值就会改变。
4. e.EditValues属性获取修改的值。
回复 使用道具 举报
lucham
初级会员   /  发表于:2011-6-13 16:51:00
板凳
1)IIS配置和数据源链接要注意什么呢?因为我毕竟内置SERVER没有问题;另外我是通过SMARTTAG中的界面配置的数据源。

4)e.editvalues得到 修改的值了,怎么知道改的是哪个CELL的呢?我主要是想用SAVECHANGES去存到数据库中去。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-13 17:11:00
地板
1. 这要具体问题具体分析了。你使用SmartTag绑定数据库,会生成一个数据库连接字符串。检查该字符串在IISserver上是否可用。比如你本身连接的是本机的数据库,那么在本机的server上没有问题,带式到IIS上,地址或者路径就有可能不对了。

4. e.CommandArgument表示修改的数据的行索引,EditValues是该行上每一列的值。你可以参考文档中相关章节。文档中代码示例如下:
  1. protected void FpSpread2_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2. {
  3.    int colcnt;
  4.    int i;
  5.    string strvalue;
  6.    int r = (int)e.CommandArgument;
  7.    colcnt = e.EditValues.Count - 1;

  8.    for (i = 0; i <= colcnt; i++)
  9.    {
  10.        if(!object.ReferenceEquals(e.EditValues[i], FarPoint.Web.Spread.FpSpread.Unchanged))
  11.        {
  12.           strvalue = e.EditValues[i].ToString();
  13.           FpSpread1.Sheets[0].Cells[r, i].Value = strvalue;
  14.        }
  15.     }
  16. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部