I want to get rows which selected on Devexpress MVC GridView at a time. Not at each item clicked.
How to get selected rows on Devexpress MVC GridView
devexpressdevexpress-mvc
Related Solutions
I solved the problem using a javascript approach. When the HTML page is loaded, a loadedmetadata
event is fired when the video metadata has been loaded. From that moment on you can get the selected video source from the currentSrc
attribute of the video element and pass it via a JavascriptInterface
to the Android native code.
Below is the code of the HTML5 video element. "Android" is the name by which the JavascriptInterface
can be accessed in javascript.
<video poster="image/poster.jpg" height="240" width="360" onloadedmetadata="Android.interceptPlay(this.currentSrc);">
<source src="video/BigBuck.m4v">
<source src="video/BigBuck.webm" type="video/webm">
<source src="video/BigBuck.theora.ogv" type="video/ogg">
HTML5 video not supported.
</video>
The code of the JavascriptInterface
private class JavaScriptInterface {
Context mContext;
/* Instantiate the interface and set the context */
JavaScriptInterface(Context c) {
mContext = c;
}
public void interceptPlay(String source) {
// do something
}
}
And finally add the JavascriptInterface to the WebView at Activity creation time
mWebView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
It’s important to catch the loadedmetadata
event by adding the onloadedmetadata
attribute to the HTML5 video element and not by registering an event listener at page load via addEventListener("loadedmetadata",...)
because on a fast network the loadedmetadata
event may be fired before the listener is registered (see http://dev.opera.com/articles/view/consistent-event-firing-with-html5-video)
I changed my codes like following, I get selectedrows with tempdata in controller.
gridSettings.PreRender = (sender, e) =>
{
MVCxGridView gridView = sender as MVCxGridView;
if ((gridView != null) && (ViewData["selectedRows"] != null))
{
int[] selectedRows = (int[])ViewData["selectedRows"];
foreach (int key in selectedRows)
{
gridView.Selection.SelectRowByKey(key);
}
}
};
Best Answer
Reference: How to get all GridView selected keys and pass them to a Controller
Example code snippet:
Controller
Note: The client-side GetSelectedKeysOnPage Method returns key values of selected rows displayed within the current page.
References:
GridView - How to get selected rows as an action parameter
GridView - How to get values of selected rows in the Controller's Action
How do I get my selected GridView rows into a Javascript variable?
DevExpress MVC GridView - How to get cell click event
How to highlight a particular row in a page of a DevExpress MVC GridView?