请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

PSHlujiasong

注册会员

6

主题

21

帖子

182

积分

注册会员

积分
182

[已处理] 固定列

PSHlujiasong
注册会员   /  发表于:2016-3-18 10:41  /   查看:4025  /  回复:4
Alice 发表于 2016-3-17 14:35
1.这是设计。
ShowIndicator是true的时候,RowHeaderCell前会有一个标记,所以序号的位置是要给标记留出位 ...

谢谢版主的回答。
请问multirow里面怎么设置固定列,横向滚动条拖动的时候,左边一部分列保持不动,只拖动右边列,Frozen属性好像只提供了get方法,不能对其进行设置
还有一个需求,可以把multirow整列无效化吗,我现在是循环每一行,把每一行的该列都设为无效化来实现的,有不用循环直接设置的方法吗

4 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-3-18 14:27:02
沙发
1.有FreezeLeftCellIndex/FreezeLeftCellName/FreezeRightCellIndex/FreezeRightCellName属性可以设置。

2.之前已经提过了,MR没有列的概念,凡和列有关的,就从模板Template上单元格Cell的角度去考虑就可以了。
将设计器里的单元格的Enable设置为false,因为行是对模板单元格的叠加,所以每一行的这个单元格都是disable。
如果是代码,就是获取到模板上的cell,然后设置enable为false。
如:
  1. this.gcMultiRow1.Template.Row.Cells[0].Enabled = false;
复制代码


请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zgblxy
注册会员   /  发表于:2019-6-21 09:44:31
板凳
Alice 发表于 2016-3-18 14:27
1.有FreezeLeftCellIndex/FreezeLeftCellName/FreezeRightCellIndex/FreezeRightCellName属性可以设置。

...

但是在最新的multirow中像图中代码那样实现不了功能。
回复 使用道具 举报
zgblxy
注册会员   /  发表于:2019-6-21 09:45:41
地板
Alice 发表于 2016-3-18 14:27
1.有FreezeLeftCellIndex/FreezeLeftCellName/FreezeRightCellIndex/FreezeRightCellName属性可以设置。

...

现在this用不了了。您还能看见吗,过了这么长时间
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-6-21 16:12:35
5#
可以参考下面的代码

  1. Public Sub New()
  2.     InitializeComponent()



  3.     Dim gcMultiRow = New GcMultiRow() With { _
  4.         Key .Width = 500 _
  5.     }
  6.     Me.Controls.Add(gcMultiRow)



  7.     Dim template__1 = Template.CreateGridTemplate(10)



  8.     For i As var = 0 To 9
  9.         template__1.Row.Cells(i).DataField = "column{i}"
  10.     Next



  11.     Dim dataTable = New DataTable()
  12.     For i As var = 0 To 9
  13.         dataTable.Columns.Add(New DataColumn("column{i}", GetType(String)))
  14.     Next
  15.     For i As var = 0 To 9
  16.         Dim row = dataTable.NewRow()
  17.         For j As var = 0 To 9
  18.             row("column{j}") = "({i} , {j})"
  19.         Next
  20.         dataTable.Rows.Add(row)
  21.     Next



  22.     gcMultiRow.Template = template__1
  23.     gcMultiRow.DataSource = dataTable




  24.     gcMultiRow.FreezeLeftCellIndex = 1
  25.     gcMultiRow.FreezeRightCellIndex = 9
  26. End Sub
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部