基于关键字段值通过javascript设置devexpress网格聚焦行索引

时间:2012-02-07 07:41:49

标签: asp.net devexpress

我试图通过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

1 个答案:

答案 0 :(得分:2)

在服务器端设置网格ClientInstanceName属性。然后,在客户端使用

clientInstanceNameValue.SetFocusedRowIndex(index)

Doc:ASPxClientGridView.SetFocusedRowIndex

编辑: 您可以遍历网格页面上的行并使用GetRowKey来确定您的键值是否等于行键值。但这只适用于可见行(在当前网格页面上)。如果您的行不可见,则必须使用回调或client side data caching(取决于网格总行数)。