网上没有找到解决方案,试了N次,终于解决了。这里暂时提供2种方案:
// 选中某一行 public static void FocusGridRowByKeyValue(DevExpress.Web.ASPxGridView.ASPxGridView grv, string sKeyFieldValue) { grv.SettingsBehavior.AllowFocusedRow = false; grv.SettingsBehavior.AllowFocusedRow = true; grv.FocusedRowIndex = -1; grv.Selection.SelectRow(grv.FindVisibleIndexByKeyValue(sKeyFieldValue)); bool bBackToPage = grv.MakeRowVisible(sKeyFieldValue);// 可以定位回到某一页去 } // 选中某一行 public static void FocusGridRowByKeyValue(DevExpress.Web.ASPxGridView.ASPxGridView grv, string sKeyFieldName, string sKeyFieldValue) { object oValue = null; for (int i = 0; i < grv.VisibleRowCount; i++) { oValue = grv.GetRowValues(i, sKeyFieldName); if (oValue != null && oValue.ToString() == sKeyFieldValue) { grv.SettingsBehavior.AllowFocusedRow = false; grv.SettingsBehavior.AllowFocusedRow = true; grv.FocusedRowIndex = -1; grv.Selection.SelectRow(i); bool bBackToPage = grv.MakeRowVisible(sKeyFieldValue);// 可以定位回到某一页去 break; } } }调用例子:
if(Request.Params["id"] != null && Request.Params["id"].Trim() !="")
{
FocusGridRowByKeyValue(grv_User, "UserID", Request.Params["id"].ToString());
}
或
if(Request.Params["id"] != null && Request.Params["id"].Trim() !="")
{
FocusGridRowByKeyValue(grv_User,Request.Params["id"].ToString());
}
本文提供了解决ASPxGridView中定位到特定行的两种方案,通过使用GridView的FindVisibleIndexByKeyValue和GetRowValues方法实现快速定位。
6169

被折叠的 条评论
为什么被折叠?



