找回密码
 立即注册

QQ登录

只需一步,快速开始

jd6061

高级会员

8

主题

33

帖子

1377

积分

高级会员

积分
1377

活字格认证微信认证勋章

jd6061
高级会员   /  发表于:2015-8-4 14:57  /   查看:9233  /  回复:10
無題.png
如上图所示,在"行"一列中,任意点击某一行,例如点击第一行的"001",现在是直接跳转到指定的页面,现在我需要的是,在点击"001"之后,先将spread的所有值保存在session中,然后再跳转到指定的页面。有什么办法么?我之前用了一下spread的cellclick事件,然并卵,希望能给个指导。。谢谢

10 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-8-4 16:41:00
沙发
回复 1楼jd6061的帖子

请问您现在的问题是无法在后台获取点击Checkbox 时机对吧?
CheckBoxCellType 点击可以出发后台 buttoncommand 事件,设置方法如下:

  1. FarPoint.Web.Spread.CheckBoxCellType c = new FarPoint.Web.Spread.CheckBoxCellType();
  2. c.AutoPostBack = true;
  3. FpSpread1.ActiveSheetView.Cells[0, 0].CellType = c;

复制代码
回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 10:12:00
板凳
我点击的是HyperLinkCellType控件,这个控件怎么没有AutoPostBack ,设不了,,
回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 10:13:00
地板
前面的checkbox只是在删除的时候用的,与点击"001"没有关系
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-8-6 14:37:00
5#
回复 4楼jd6061的帖子

建议使用 buttoncelltype 来代替链接,请参考以下代码:

  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }


  7.             FarPoint.Web.Spread.ButtonCellType btn1 = new FarPoint.Web.Spread.ButtonCellType("MyBlue");
  8.             FarPoint.Web.Spread.StyleInfo style1 = new FarPoint.Web.Spread.StyleInfo();
  9.             FpSpread1.Sheets[0].ColumnCount = 7;
  10.             FpSpread1.Sheets[0].RowCount = 50;
  11.             btn1.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton;
  12.             btn1.CommandName = "MyBlue";
  13.             style1.CellType = btn1;
  14.             
  15.             FpSpread1.Sheets[0].SetStyleInfo(-1, 1, style1);

  16.         }

  17.         protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
  18.         {

  19.         }
复制代码


button 同样可以显示成链接样式。
回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 16:03:00
6#
首先有两个问题,
1,用了这个控件后,链接地址怎么设?只能在触发的方法里跳转了吧?
2,显示的链接名字怎么设定?
Dim btnlink As New FarPoint.Web.Spread.ButtonCellType()

btnlink.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton

btnlink.CssClass = "CssStyle1"
btnlink.Text = Format(i + 1, "000")
这么设定的时候, btnlink.Text 只会是最后一次设的值,例如,我i最大到9,当循环完的时候,所有的btnlink.Text 都会变成"010",而不是我需要的"001","002"........
如果我要是需要在第一行显示"001"
第二行显示"002"
后面依次类推,
怎么设定?
回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 16:05:00
7#
FarPoint.Web.Spread.StyleInfo style1 = new FarPoint.Web.Spread.StyleInfo();

FpSpread1.Sheets[0].SetStyleInfo(-1, 1, style1);是干什么用的?可能不是同一种开发语言,不是很明白,我在vb.net中,这些都删掉了,,没用到。也可以显示成超链接的形式
回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 16:55:00
8#
问题解决了,我在每一次for循环的时候都执行一遍
Dim btnlink As New FarPoint.Web.Spread.ButtonCellType()
btnlink.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
btnlink.CssClass = "CssStyle1"
btnlink.Text = Format(i + 1, "000")
这样就可以了,不过总感觉可能在数据多的情况下,会不会影响效率
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-8-6 17:28:00
9#
回复 7楼jd6061的帖子

以下是我使用VB.NET 写的示例:

  1.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         If IsPostBack Then
  3.             Return
  4.         End If

  5.         FpSpread1.Sheets(0).ColumnCount = 7
  6.         FpSpread1.Sheets(0).RowCount = 50

  7.         For index = 0 To 49
  8.             Dim btn As New FarPoint.Web.Spread.ButtonCellType()
  9.             btn.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
  10.             btn.CommandName = Format(index + 1, "000")
  11.             btn.Text = Format(index + 1, "000")
  12.             FpSpread1.Sheets(0).Cells(index, 0).CellType = btn
  13.         Next
  14.     End Sub

  15.     Private Sub FpSpread1_ButtonCommand(sender As Object, e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.ButtonCommand
  16.         Dim link As String = e.CommandName
  17.     End Sub
复制代码


如果需要跳转页面可以通过 e.CommandName 获取命令,在buttoncommand事件中跳转页面。
看是否符合您的需求。

SetStyleInfo 用于设置单元格、行或列的样式。

评分

参与人数 1满意度 +5 收起 理由
jd6061 + 5

查看全部评分

回复 使用道具 举报
jd6061
高级会员   /  发表于:2015-8-6 17:34:00
10#
哦,,我自己是通过那个方法调前台,跳转页面的,谢谢啊。。解决了。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部