我试图通过javascript设置devexpress网格的焦点行索引,目前我在回调中做,但我不希望它在回调中做。我的代码在下面,
function OnbtnOkClick(s, e) {
gvEmpSearch.GetRowValues(gvEmpSearch.GetFocusedRowIndex(), 'employeeId;LastName;FirstName', OnGetRowValues);
popCtrlEmpSearch.Hide();
}
//performs callback and sets the focused row index
function OnGetRowValues(values) {
var empId = Object(values[0]);
gvEmp.PerformCallback(empId);
//我想在这里设置focusedrow索引,而不是进行回调和设置 }
网格的回调方法
Protected Sub gvEmployee_CustomCallback(ByVal sender As Object, ByVal e As DevExpress.Web.ASPxGridView.ASPxGridViewCustomCallbackEventArgs) Handles gvEmployee.CustomCallback
'gets the key value from employee search sets the focused row based on that
Dim keyValue As Integer = CInt(e.Parameters)
gvEmployee.FocusedRowIndex = gvEmployee.FindVisibleIndexByKeyValue(keyValue)
gvEmployee.DetailRows.ExpandRowByKey(keyValue)
End Sub
任何想法?
提前致谢
Arasu
答案 0 :(得分:2)
在服务器端设置网格ClientInstanceName
属性。然后,在客户端使用
clientInstanceNameValue.SetFocusedRowIndex(index)
Doc:ASPxClientGridView.SetFocusedRowIndex
编辑: 您可以遍历网格页面上的行并使用GetRowKey来确定您的键值是否等于行键值。但这只适用于可见行(在当前网格页面上)。如果您的行不可见,则必须使用回调或client side data caching(取决于网格总行数)。