pblandscape 发表于 2017-2-22 17:43:49

SpreadSheet能否单独锁定一列不能调整宽度和高度

SpreadSheet能否单独锁定一列不能调整宽度和高度
UCSpreadSheet.Protect=true后对单独的列设置lock=false也没法调整
.UCSpreadSheet.ActiveSheet.Columns.Locked = false;

或者说设置UCSpreadSheet.Protect=false解锁后
.UCSpreadSheet.ActiveSheet.Columns.Locked = True;,这一列也锁不住

请问有什么解决方法?

dexteryao 发表于 2017-2-22 18:47:37

直接设置列的CanUserResize 属性

            gcSpreadSheet1.ActiveSheet.Columns.CanUserResize = false;

pblandscape 发表于 2017-2-23 10:22:02

还有一种情况就是
1.点左上角全选

2.随便选中一列,往左一拉,就成这样了,有办法避免这样操作么?但是又不能影响对行的拉宽拉高。


pblandscape 发表于 2017-2-23 10:25:41

dexteryao 发表于 2017-2-22 18:47
直接设置列的CanUserResize 属性

            gcSpreadSheet1.ActiveSheet.Columns.CanUserResize =...

请看2楼回复,谢谢

pblandscape 发表于 2017-2-23 10:29:30

dexteryao 发表于 2017-2-22 18:47
直接设置列的CanUserResize 属性

            gcSpreadSheet1.ActiveSheet.Columns.CanUserResize =...

或者说有没有什么函数可以让界面布局重新刷新一次

dexteryao 发表于 2017-2-23 14:48:19

这个是因为您把所有列宽度都拖成0 ,隐藏了。
可以在 GcSpreadSheet1_ColumnWidthChanged 事件里恢复

      private void GcSpreadSheet1_ColumnWidthChanged(object sender, GrapeCity.Windows.SpreadSheet.UI.ColumnWidthChangedEventArgs e)
      {
            if (e.ColumnList != null && e.ColumnList.Length > 1)
            {
                for(var i = 0; i< e.ColumnList.Length; i++)
                {
                  var index = e.ColumnList;
                  if (!gcSpreadSheet1.ActiveSheet.Columns.IsVisible)
                  {
                        //gcSpreadSheet1.ActiveSheet.Columns.Width = 5;
                        gcSpreadSheet1.ActiveSheet.Columns.IsVisible = true;
                  }
                }
            }
      }
页: [1]
查看完整版本: SpreadSheet能否单独锁定一列不能调整宽度和高度