找回密码
 立即注册

QQ登录

只需一步,快速开始

Lonlyju
论坛元老   /  发表于:2012-8-23 11:08  /   查看:14929  /  回复:23
web版的控件中如何遍历sheet中的单元格并根据其tag对每个单元格赋值呢? 然后再将sheet中的值遍历取得怎么实现呢?没有找到遍历的方法。。。:~

23 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-8-23 16:27:00
沙发
回复 1楼Lonlyju的帖子

请问楼主指的是前台遍历还是后台遍历:
后台遍历方法:

  1. for (int i = 0; i < this.FpSpread1.Sheets[0].RowCount; i++)
  2.             {
  3.                 for (int j = 0; j < this.FpSpread1.Sheets[0].ColumnCount; j++)
  4.                 {
  5.                     if (this.FpSpread1.Sheets[0].Cells[i, j].Tag != null)
  6.                     {
  7.                         //
  8.                     }
  9.                 }
  10.             }
复制代码

前台遍历方法,不过在前台无法拿到 tag 值:

  1. <script type="text/javascript">
  2.         function getCells() {
  3.             var spread=this.document.getElementById("<%=FpSpread1.ClientID %>");

  4.             var rowcount = spread.GetRowCount();
  5.             var colcount = spread.getColCount();

  6.             for (var i = 0; i < rowcount; i++) {
  7.                 for (var j = 0; j < colcount; j++) {
  8.                     var cell = spread.GetCellByRowCol(i, j);
  9.                 }
  10.             }
  11.         }
  12.     </script>
复制代码
回复 使用道具 举报
Lonlyju
论坛元老   /  发表于:2012-8-23 17:18:00
板凳
嗯嗯 知道啦  谢谢咯 我想在后台得到前台更新后的数据  能否得到啊 我用的4.0版本 获得的都是之前的数据没能获得页面中更改后的数据呢  纠结中。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-23 18:10:00
地板
回复 3楼Lonlyju的帖子

请使用以下代码设置:
使用 Spread 前台 EditStopped 事件,调用 Update 方法 CallBacK 到后台的 FpSpread1_UpdateCommand 事件获取更新值:
前台:

  1.     <script language="javascript" type="text/javascript" id="FpSpread1_Script0">
  2.                 function FpSpread1_EditStopped(event){
  3.                     //Add code to handle your event here.
  4.                     var spread = this.document.getElementById("<%=FpSpread1.ClientID %>");
  5.                     spread.Update();
  6.                 }
  7.         </script>
复制代码

后台:

  1.        protected void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  2.         {
  3.         }
复制代码
回复 使用道具 举报
Lonlyju
论坛元老   /  发表于:2012-8-24 09:31:00
5#
谢谢您给我提供了这么大的帮助,为什么我还是实现不了呢。。。。这个脚本中的方法需要在后台调用吧?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-24 13:22:00
6#
回复 5楼Lonlyju的帖子

你好,请参考我的 Demo:
5786-3.zip (2.87 MB, 下载次数: 643)
回复 使用道具 举报
Lonlyju
论坛元老   /  发表于:2012-8-24 13:55:00
7#
嗯嗯 会做啦 谢谢您。  可是为什么我在使用这个控件的时候总是遇到问题呢  感觉好不稳定 有时候断点不走 直接就出结果了  现在又是控件运行在界面上单元格不可编辑  我把能编辑的控件属性等等和不能编辑的核对了好几遍都没找出什么原因呢 ?  有什么原因会限制它在前台不能编辑呢 我什么属性都没设置呢。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-24 14:07:00
8#
回复 7楼Lonlyju的帖子

Lonlyju 你好,
是否通过 Spread 打开 excel 呢?可以尝试设置一下代码:

  1. this.fpSpread1.Sheets[0].Protected=false;
复制代码

如果没有解决问题,请发 Demo 到论坛调试。
回复 使用道具 举报
Lonlyju
论坛元老   /  发表于:2012-8-24 16:56:00
9#
嗯 不是它的问题  好像和浏览器有关 用谷歌就可以 ,而且断点能正常使用, 用IE就总是不正常,有的可以编辑,有的则不可以,而且断点无法使用。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-24 17:49:00
10#
回复 9楼Lonlyju的帖子

Lonlyju 你好,
不知道你都做了哪些设置,能否把 代码片段 贴出来?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部