using System.Reflection;
假如datagrid是grdDatavoid grdData_Scroll( sender ,e )
{
Type type = typeof( DataGrid );
FieldInfo fi = type.GetField( "firstVisibleRow" , BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.NonPublic );
int firstRowNumber = (int)fi.GetValue( grdData ) ; //这就是第一列可见的列数,除以datagrid绑定数据源的列数,就是你所像要的}
假如datagrid是grdDatavoid grdData_Scroll( sender ,e )
{
Type type = typeof( DataGrid );
FieldInfo fi = type.GetField( "firstVisibleRow" , BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.NonPublic );
int firstRowNumber = (int)fi.GetValue( grdData ) ; //这就是第一列可见的列数,除以datagrid绑定数据源的列数,就是你所像要的}
解决方案 »
- web控件网页的go method标记问题
- 各位大神,我实在找不出错了,昨天还行呢,今天突然出了这错。
- C# ADO.NET Access 为啥更 新不了表,帮帮忙,在线等
- 三层资料
- .net 控件集,如图表,表格,日期等控件(asp.ent c#)
- c#中不用添加引用的方法,代码编程是否可以实现WebService的调用
- 求助关于dictionary类的添加对象之后自动排序的问题。
- 大侠们帮忙瞧瞧! 关键字:设计模式 singleton
- 【TreeView问题】:是高手的就过来,这个问题现在【微软】的技术专家也搞不定,悲哀
- 刚刚完工的稿子,提提意见, 马上结帖,
- DateTimePicker里面能不能显示毫秒啊?
- 在winform中锁定数据库。如何做?
你说的"firstVisibleRow"是什么东西(GetField这句话中的)?我是不是要改成我第一列的名字啊?但是改成第一列的名字,还是不行啊.得到的firstRowNumber=0.问题还是没有解决啊.请大家帮帮忙.
打个比方
一个datagrid有一千行数据,现在滚动到中间,你所看见的第一列就是这个可见的行,该列在datagrid中的firstRowNumber位置。上面的方法我自己测试过的。你将上面的代码不要改动试试看,除了datagrid的名称。
document.body.scrollTop/scrollLeft
DataGrid.VertScrollBar.Value就可以获得了.