2012-01-16 61 views
2

我想選擇一個包含keyvalue的DevExpress MVC GridView的特定行。我在gridview中嘗試了下面的代碼。如何突出顯示DevExpress MVC GridView頁面中的特定行?

settings.DataBound = (sender, e) => 
    { 
     MVCxGridView grid = (MVCxGridView)sender; 

     grid.PageIndex = 5; 

    }; 

    settings.PreRender = (sender, e) => 
    { 

     MVCxGridView grid = (MVCxGridView)sender; 

     grid.FocusedRowIndex = grid.FindVisibleIndexByKeyValue(35); 



    }; 

在這裏我希望得到的是要突出其包含鍵值35上面的代碼不會爲我行選擇工作5頁的行。

請有人提出一個解決方案。

在此先感謝。

+0

您是使用Selection還是FocusedRow功能? – Mikhail 2012-01-16 08:52:57

+0

是@MikePreyskurantov – Prasanth 2012-01-17 06:22:16

+0

我更新了我的「聚焦行」情況下的代碼片段。我相信不再需要「DataBound」事件處理程序。 – Mikhail 2012-01-17 14:56:42

回答

2

我得到了一個使用客戶端JavaScript函數的解決方案。

settings.PreRender = (sender, e) => 
    { 

     MVCxGridView grid = (MVCxGridView)sender; 

     var selected = 35; 
     if (Convert.ToInt64(selected) > 0) 
     { 
      int index = grid.FindVisibleIndexByKeyValue(selected); 

      grid.PageIndex = index/grid.SettingsPager.PageSize; 

      grid.ClientSideEvents.Init = @"function(s, e) 
      { s.SetFocusedRowIndex(" + index + ");}"; 

     } 

    }; 
3

行選擇:

可以選擇以下方式經由ASPxGridView.Selection.SetSelectionByKey方法所需的DataRow:

C#:

settings.PreRender = (sender, e) => { 
    ASPxGridView gridView = (ASPxGridView)sender; 

    object keyValue = 35; 
    gridView.Selection.SetSelectionByKey(keyValue, true); 
}; 

VB.NET :

settings.PreRender = _ 
    Sub(sender, e) 
     Dim gridView As ASPxGridView = CType(sender, ASPxGridView) 

     Dim keyValue As Object = 35 
     gridView.Selection.SetSelectionByKey(keyValue, True) 
    End Sub 

你可以找到的DevExpress支持基地有着相似的應用:

http://www.devexpress.com/Support/Center/p/Q317380.aspx

焦點行:

C#:

settings.PreRender = (sender, e) => { 
    ASPxGridView gridView = (ASPxGridView)sender; 

    object keyValue = 35; 
    gridView.FocusedRowIndex = gridView.FindVisibleIndexByKeyValue(keyValue); 

}; 

VB.NET:

settings.PreRender = _ 
    Sub(sender, e) 
     Dim gridView As ASPxGridView = CType(sender, ASPxGridView) 

     Dim keyValue As Object = 35 
     gridView.FocusedRowIndex = gridView.FindVisibleIndexByKeyValue(keyValue) 
    End Sub 
+0

感謝您的回覆。然而,我的網頁在更新後得到回傳,上面的方法對我不起作用,並且它在回發後缺少焦點行。最後我得到了一個使用javascript函數的解決方案。 – Prasanth 2012-01-17 06:18:27