telank 发表于 2018-12-26 14:33:32

checkbox 前台 提交 后台处理 选择中后 怎么也取消不掉了,后台一直是选中状态。

由于spread 设置AutoPostBack = true后 spread高度没法调整了

所以想前台提交到后台处理

Checkbox绑定事件
            CheckBoxCellType cbType = new CheckBoxCellType();
            cbType.OnClientClick = "spreaclick()";
            FpSpread2.Sheets.Columns.CellType = cbType;


JavaScript
      function spreaclick() {
            var spread = document.getElementById("<%=FpSpread2.ClientID %>");

            if (spread.ActiveCol == 0) {
                spread.CallBack("button");
            }
      };


后台
      protected void FpSpread2_ButtonCommand(object sender, SpreadCommandEventArgs e)
      {
            int col = e.SheetView.ActiveRow;
            int rol = e.SheetView.ActiveColumn;

            Cell getCell = e.SheetView.Cells;

      }


现在问题是,checkbox选择中后 怎么也取消不掉了,后台一直是选中状态。

dexteryao 发表于 2018-12-26 18:00:27

先调用FpSpread1.SaveChanges(); 保存前端的更改,再做后面操作。

telank 发表于 2018-12-27 12:34:58

本帖最后由 telank 于 2018-12-27 16:25 编辑

没用
protected void FpSpread2_ButtonCommand(object sender, SpreadCommandEventArgs e)
      {
            FpSpread2.SaveChanges();
            int col = e.SheetView.ActiveRow;
            int rol = e.SheetView.ActiveColumn;

            Cell getCell = e.SheetView.Cells;

      }

telank 发表于 2018-12-27 12:46:54

本帖最后由 telank 于 2018-12-27 16:24 编辑

你们可以这样试一下 如果没有问题能否 给我个简单的demo

dexteryao 发表于 2019-1-3 11:11:46

请参考如下代码
      function spreaclick() {
            var spread = document.getElementById("<%=FpSpread1.ClientID %>");

            if (spread.ActiveCol == 0) {
                var value = spread.GetValue(spread.ActiveRow, spread.ActiveCol);
                if (value !== "true") {
                  spread.SetValue(spread.ActiveRow, spread.ActiveCol, false);
                }
                spread.UpdatePostbackData();
                spread.CallBack("button");
            }
      };

telank 发表于 2019-1-7 09:26:23

本帖最后由 telank 于 2019-1-7 10:27 编辑

ok 好用了:handshake

Clark.Pan 发表于 2019-1-7 17:35:25

{:4_86:}
页: [1]
查看完整版本: checkbox 前台 提交 后台处理 选择中后 怎么也取消不掉了,后台一直是选中状态。