我已经将DatGridView绑定到BindingSource,并且在设置它的DataSource后我试图将其滚动到底部。
绑定源的MoveLast()使最后一行选中,但不向下滚动。我试图设置FirstDisplayedScrollingRowIndex,但它抛出InvalidOperationException并显示消息“没有空间可用于显示行”。
当我稍后调用MoveLast或更改FirstDisplayedScrollingRowIndex时,例如在按钮单击事件中,它运行良好,但我想打开一个新窗口,其中DataGridView的最后一行设置为当前并且对用户可见。
答案 0 :(得分:3)
听起来像是在构造函数中调用FirstDisplayedScrollingRowIndex?尝试在表单的load事件中执行此操作。最后,您可以在Activate事件中执行此操作并设置一个标志,以便它只在表单完成绘制后执行一次。
答案 1 :(得分:0)
使用表格的“scrollToRowAtIndexPath:atScrollPosition:animated”方法。
所以你可以使用它:
[self.table scrollToRowAtIndexPath:indexPath atScrollPosition:UIScrollPositionMiddle animated:yes];
“atScrollPosition”告诉您希望所选行在屏幕上滚动到哪里。您可以选择UIScrollPositionTop,UIScrollPositionMiddle或UIScrollPositionBottom。
“动画”字段只是表示你是否想要滚动动画,或者只是让它立刻出现在那里,我想。
如果需要,您可以创建自己的indexPath: [NSIndexPath indexPathForRow :(行号或整数值)inSection:0]
“inSection”将是您想要路径的部分,如果您只有一个,只需输入0.大多数表格只有一个部分。