C#gridcontrol的layoutview滚动条只能一个一个的滚,我想变成一行一行的滚

ZhangBigBoss 2021-02-22 03:31:42
如图:




滚动条往下滑了一下,变成了这样:





按理说,滚动条往下划一下,应该是下面出现新的一行。就像这个图:





我用的是这个控件gridcontrol的layoutview:





大佬们,怎么样才能让滚动条一行一行的滚,而不是一个一个的滚啊
...全文
386 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZhangBigBoss 2021-03-01
  • 打赏
  • 举报
回复
目前还没有发现什么属性可以调整,我是用代码写的的,大家可以参考一下,根据自己的情况改改: private void lovBedList_VisibleRecordIndexChanged(object sender, DevExpress.XtraGrid.Views.Layout.Events.LayoutViewVisibleRecordIndexChangedEventArgs e) { //计算显示的列数 int showcol = (lovBedList.ViewRect.Width / lovBedList.TemplateCard.MinSize.Width); //计算显示的行数 int showrow = (lovBedList.ViewRect.Height / lovBedList.TemplateCard.MinSize.Height); //计算显示的卡片数 int cards = showcol * showrow; //如果是向下滚动 if ((e.VisibleRecordIndex > e.PrevVisibleRecordIndex)) { //如果是第一次滚动 if ((e.VisibleRecordIndex - e.PrevVisibleRecordIndex) == cards) { lovBedList.VisibleRecordIndex = e.VisibleRecordIndex + (showcol - 1); } //如果滚动差距小于列数 if ((e.VisibleRecordIndex - e.PrevVisibleRecordIndex) < (showcol - 1)) { lovBedList.VisibleRecordIndex = e.PrevVisibleRecordIndex + showcol; } } //如果是向上滚动 if ((e.VisibleRecordIndex < e.PrevVisibleRecordIndex)) { //如果是第一次滚动 if ((e.PrevVisibleRecordIndex - e.VisibleRecordIndex) == cards) { lovBedList.VisibleRecordIndex = e.VisibleRecordIndex - (showcol - 1); } //如果滚动差距小于列数 if ((e.PrevVisibleRecordIndex - e.VisibleRecordIndex) < (showcol - 1)) { lovBedList.VisibleRecordIndex = e.PrevVisibleRecordIndex - showcol; } } }
ZhangBigBoss 2021-02-25
  • 打赏
  • 举报
回复
有同样问题的小伙伴可以留个言,到时候解决了,也可以互相参考一下
ZhangBigBoss 2021-02-25
  • 打赏
  • 举报
回复
大佬们,快来帮忙啊

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧