大佬教程收集整理的这篇文章主要介绍了刷新C#datagrid时停止跳转,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是,当我们回到新数据时,我们希望数据网格中的选择保持在之前的同一行上.我们使用以下代码进行了管理:
int iPosTingPos = dgridPosTings.CurrentRow.Index; // process data on server dataContTranMatch.RunBoProcedure(dataContTranMatch.boProcedure,transactionMatchingDataSet); // Reload Data LoadData(); if (iPosTingPos > ttPOSTingsRowBindingsource.Count) { iPosTingPos = ttPOSTingsRowBindingsource.Count; } if (ttPOSTingsRowBindingsource.Count > 0) { ttPOSTingsRowBindingsource.Position = iPosTingPos; dgridPosTings.Rows[iPosTingPos].SELEcted = true; }
这是有效的,但我们让选定的线在屏幕上跳跃,这真的让用户烦恼.
例如,如果选择第7行,然后运行此代码,则选择第7行,然后选择跳转到第0行,然后跳回第7行.这是不可接受的.
chTableLayoutPanel1.SuspendLayout(); *DO CODE* chTableLayoutPanel1.ResumeLayout();
但这没有帮助.
到目前为止,我们能够达到的最可接受的解决方案是更改选择的颜色,以便您无法看到它,让它跳跃,然后将颜色恢复原样.这使得闪烁更容易被接受.
dgridPosTings.RowsDefaultCellStyle.SELEctionBACkColor = Sy@L_262_9@Colors.Window; dgridPosTings.RowsDefaultCellStyle.SELEctionForeColor = Sy@L_262_9@Colors.ControlText; DO CODE dgridPosTings.RowsDefaultCellStyle.SELEctionBACkColor = Sy@L_262_9@Colors.Highlight; dgridPosTings.RowsDefaultCellStyle.SELEctionForeColor = Sy@L_262_9@Colors.HighlightText;
我们相信这个问题是由于数据集刷新时绑定源暂时为空而引起的,然后我们重新导航它再次获取数据.
任何人都可以就如何防止这种不愉快的闪烁发生提出任何想法吗?
非常感谢
科林
以上是大佬教程为你收集整理的刷新C#datagrid时停止跳转全部内容,希望文章能够帮你解决刷新C#datagrid时停止跳转所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。