问题
I want to select a particular row of a DevExpress MVC GridView, which contains a keyvalue. I tried the following codes in the 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);
};
Here what I wish to get is to highlight the row of 5th page which contains the keyvalue 35. The above code does not work for me for row selection.
Please anybody suggest a solution.
Thanks in advance.
回答1:
Row Selection:
You can select the required DataRow via the ASPxGridView.Selection.SetSelectionByKey method in the following manner:
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
You can find a similar implementation in DevExpress support base:
http://www.devexpress.com/Support/Center/p/Q317380.aspx
Focused Row:
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
回答2:
I got a solution which is using a clientside javascript function.
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 + ");}";
}
};
来源:https://stackoverflow.com/questions/8875641/how-to-highlight-a-particular-row-in-a-page-of-a-devexpress-mvc-gridview