syl000216 发表于 2014-12-3 14:28:00

【ASP.NET】spread 选中多行 排序

spread 选中多行后,点击列标题排序后,怎么能让我选择的数据还选中,现在的情况是,排序后选中的是当前选中的Index对应的行,不是我要选中的数据,拜托斑竹了急急急·······

iceman 发表于 2014-12-3 20:46:00

回复 1楼syl000216的帖子

请参考以下代码:

      protected void Page_Load(object sender, EventArgs e)
      {
            if (IsPostBack)
            {
                return;
            }
            FarPoint.Web.Spread.Column col;
            col = FpSpread1.ActiveSheetView.Columns;
            FpSpread1.ActiveSheetView.Cells.Text = "Alignment";
            FpSpread1.ActiveSheetView.Cells.Text = "CarbAdjust";
            FpSpread1.ActiveSheetView.Cells.Text = "Brakes";
            col.SortIndicator = FarPoint.Web.Spread.Model.SortIndicator.Descending;
            FpSpread1.ActiveSheetView.AllowSort = true;
      }

      protected void FpSpread1_SortColumnCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
      {
            //清除点击列头的选择范围
            this.FpSpread1.ActiveSheetView.SelectionModel.ClearSelection();

            //可以把之前的 Selection 存入 Session中
            this.FpSpread1.ActiveSheetView.SelectionModel.AddSelection(0, 0, 1, 1);
      }

syl000216 发表于 2014-12-3 21:09:00

看的不是很明白能不能稍微解释一下下哈

syl000216 发表于 2014-12-4 10:54:00

有没有可能在前台用js方法实现啊

syl000216 发表于 2014-12-4 15:30:00

现在可以记住数据了但是数据排序后 如果数据比较多的情况下选中的数据排到下面去的时候 只有滑动滚动条才能看到有没有方法在后台设置滚动条的位置啊指定滚动条到哪一行

iceman 发表于 2014-12-4 18:34:00

回复 5楼syl000216的帖子

可以通过前台的接口设置:

    <script type="text/javascript">
      function test() {
            FpSpread1.ScrollTo(10, 1);
      }
    </script>

syl000216 发表于 2014-12-6 13:42:00

这是前台方法我想问的是后台代码控制的方法啊

iceman 发表于 2014-12-8 15:49:00

回复 7楼syl000216的帖子

后台有相应的属性为 TopRow,测试代码:

FarPoint.Web.Spread.SheetView sv=FpSpread1.ActiveSheetView;
FarPoint.Web.Spread.StyleInfo altrowstyle=new FarPoint.Web.Spread.StyleInfo();
FarPoint.Web.Spread.Model.DefaultSheetStyleModel altrowmodel=new FarPoint.Web.Spread.Model.DefaultSheetStyleModel(1000,7);
sv.ColumnCount=7;
sv.RowCount=1000;
altrowstyle.BackColor=Color.LightCyan;
altrowstyle.ForeColor=Color.Navy;
altrowstyle.Font.Bold=true;
altrowmodel.SetDirectAltRowInfo(1,altrowstyle);
sv.StyleModel=altrowmodel;
sv.TopRow=4;



不过,使用 Spread 8.0 测试没有成功,我这边已经把问题反馈给产品组,有进一步消息反馈给你。

如果使用前台的接口能否指出哪里不符合您的需求?

谢谢
页: [1]
查看完整版本: 【ASP.NET】spread 选中多行 排序