找回密码
 立即注册

QQ登录

只需一步,快速开始

wjj_123
银牌会员   /  发表于:2012-6-4 13:35  /   查看:5748  /  回复:3
我用spread设计器设计了1张表格每个单元格都设置了tag值,比如“名称 “等,然后保存成XML文件。然后到 程序里 open这个xml,想通过getcellfromtag这个方法得到我在卡片里 的这个 cell单元格里输入的 值,可是无论怎样取到的都是 空,是怎么回事?
据说是要点spread的那个 update按钮,但我没有开放这个按钮。请问如果要前台和后台分别遍历所有cell,取到这些cell单元格填写的内容,应该怎么做 ?

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-6-4 17:59:00
沙发
回复 1楼wjj_123的帖子

wjj_123 你好,
1.后台通过 Tag 取得 Cell Text 代码:

  1.         protected void Button3_Click(object sender, EventArgs e)
  2.         {
  3.             FpSpread1.SaveChanges();
  4.             string text = this.FpSpread1.Sheets[0].GetCellFromTag(null,"tag1").Text;
  5.         }
复制代码

2.前台无法识别 tag,可以通过 行列索引来取得:

  1. function Button2_onclick()
  2. {
  3.     var spread = this.document.getElementById("FpSpread1");
  4.     var cellText = spread.GetValue(0,0);
  5. }
复制代码
回复 使用道具 举报
wjj_123
银牌会员   /  发表于:2012-6-5 12:39:00
板凳
既然tag值前台无法识别,请问 如果 要在前台通过属性值取到某个特殊的 cell,在设计器里可以对这个cell设置什么属性值?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-6-5 14:33:00
地板
回复 3楼wjj_123的帖子

你好,可以根据 Cell 的 Note 属性在前台回去相应单元格:
前台代码:

  1. function Button1_onclick() {
  2.                     var spread = this.document.getElementById("FpSpread1");
  3.                     var rowcount = spread.GetRowCount();
  4.                     var colcount = spread.GetColCount();
  5.                     for (var i = 0; i < rowcount; i++) {
  6.                         for (var j = 0; j < colcount; j++) {
  7.                             var cell = spread.GetCellByRowCol(i, j);
  8.                             if (cell.title == null) {
  9.                                 continue;
  10.                             }
  11.                             else {
  12.                                 var cellnote = cell.title;
  13.                                 if (cellnote == '测试') {
  14.                                     alert("取得 note 为 “测试” 的 Cell");
  15.                                 }
  16.                             }
  17.                            
  18.                         }
  19.                     }
  20.                 }
复制代码

后台代码:

  1.     protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.                 return;
  5.             FarPoint.Web.Spread.TextCellType textType = new FarPoint.Web.Spread.TextCellType();
  6.             this.FpSpread1.Sheets[0].Cells[0, 0].CellType = textType;
  7.             this.FpSpread1.Sheets[0].Cells[0, 0].Note = "测试";
  8.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部