怎样在页面刷新后将焦点定在DataGrid的某一行上? 由于datagrid绑定的数据源比较多,根据需求又不能分页.这样每次点击Datagrid中的修改、更新键后,页面总会回到顶端,操作起来非常不便。 有没有方法可以将焦点定位在Datagrdi的某一行上?请各位高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 page里好象有个smartNavigation属性吧 我以前是这样做的:在DataGrid里设置一列模板例带一列宽度为0的TextBox当需要指定到哪一行时,就输出脚本,让那一行的此列得到焦点. 我做的不是很完善,但是基本上实现了焦点保留问题.daishengs朋友能否把代码发一下,谢谢. 贴出一段我自己用的代码: 可将回传前页面的位置恢复/// <summary>/// 恢复回传前页面位置/// </summary>public static void RetainScrollPosition(){Page _page =(Page)HttpContext.Current.Handler;StringBuilder ScrollPosition = new StringBuilder();_page.RegisterHiddenField("__SCROLLPOS", "0");ScrollPosition.Append("<SCRIPT LANGUAGE=\"JavaScript\">\n<!--\n");ScrollPosition.Append(" function saveScrollPosition() {\n");ScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = document.body.scrollTop;");ScrollPosition.Append("\n }\n document.body.onscroll=saveScrollPosition;\n");if ( _page.IsPostBack ){ScrollPosition.Append(" function setScrollPosition() {\n");ScrollPosition.AppendFormat(" document.body.scrollTop = {0};", _page.Request["__SCROLLPOS"]);ScrollPosition.Append("\n }\n document.body.onload=setScrollPosition;\n");}ScrollPosition.Append("//-->\n</SCRIPT>");_page.RegisterStartupScript("jsRetainScrollPosition", ScrollPosition.ToString());}调用:在 Page_Load 事件中加入以下代码:RetainScrollPosition();也可将这段代码放在其他类中。 不用那么麻烦.加个smartNavigation 就可以了吧? 非常感谢ncjmc,他的方法非常好!已经圆满解决.简单的加smartNavigation是不行的. 从数据库中读取一条条数据连续显示到datagridview里面,就像超市售货员刷商品条码时显示 vs2005自动复制控件? C#中怎么获得xml节点的值? 如何启动自身进程? vc头文件中定义的常量,C#中可以用吗? 怎么用.谢谢 谁用过Entity Framework了,近来介绍一下,说说体会 调用超类事件的问题 水晶报表是怎么回事 请问怎样将这正则的贪婪匹配改变成最短匹配,谢谢 我受不了了,清华作为中国第一学府居然有这样的研究成果! asp.net 1.1中能不能实现点击关闭网页页面? 使用非安全代码时的问题
在DataGrid里设置一列模板例带一列宽度为0的TextBox
当需要指定到哪一行时,就输出脚本,让那一行的此列得到焦点.
/// 恢复回传前页面位置
/// </summary>
public static void RetainScrollPosition()
{
Page _page =(Page)HttpContext.Current.Handler;
StringBuilder ScrollPosition = new StringBuilder();
_page.RegisterHiddenField("__SCROLLPOS", "0");
ScrollPosition.Append("<SCRIPT LANGUAGE=\"JavaScript\">\n<!--\n");
ScrollPosition.Append(" function saveScrollPosition() {\n");
ScrollPosition.Append(" document.forms[0].__SCROLLPOS.value = document.body.scrollTop;");
ScrollPosition.Append("\n }\n document.body.onscroll=saveScrollPosition;\n");
if ( _page.IsPostBack )
{
ScrollPosition.Append(" function setScrollPosition() {\n");
ScrollPosition.AppendFormat(" document.body.scrollTop = {0};", _page.Request["__SCROLLPOS"]);
ScrollPosition.Append("\n }\n document.body.onload=setScrollPosition;\n");
}
ScrollPosition.Append("//-->\n</SCRIPT>");
_page.RegisterStartupScript("jsRetainScrollPosition", ScrollPosition.ToString());
}调用:在 Page_Load 事件中加入以下代码:
RetainScrollPosition();也可将这段代码放在其他类中。