This is a migrated thread and some comments may be shown as answers.

[Solved] Unable to get Grid Row on client side

2 Answers 117 Views
Grid
This is a migrated thread and some comments may be shown as answers.
roshin
Top achievements
Rank 1
roshin asked on 13 Jan 2010, 10:02 AM

Hi
I am unable to get the row on client side event with the telserik.web.UI version 2009.2.826.35
below is the code which i am using

please povide help on this

Regards,
Roshin

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SelectionList.aspx.cs" Inherits="SelectionList" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml">  
 
<head id="Head1" runat="server">  
 
<title>Select Member</title> 
 
<style type="text/css">  
 
.FilterTable td  
 
{  
 
font: normal 10px Arial, Verdana, Sans-serif;  
 
}  
 
</style> 
 
</head> 
 
<body> 
 
<form id="form1" runat="server">  
 
<telerik:RadScriptManager runat="server" ID="ScMng1">  
 
</telerik:RadScriptManager> 
 
<div> 
 
<telerik:RadGrid ID="GridMember" CssClass="RadGrid" AllowSorting="True" AllowCustomPaging="True" 
 
ShowFooter="True" AllowPaging="True" runat="server" OnNeedDataSource="GridMember_NeedDataSource" 
 
AllowFilteringByColumn="True" AutoGenerateColumns="False" GridLines="None"  
 
Width="100%" BorderStyle="Dotted" CellPadding="0" PageSize="15" GroupingEnabled="False" 
 
OnPreRender="GridMember_PreRender">  
 
<MasterTableView CssClass="MasterTable" DataKeyNames="user_id,last_name,first_name" 
 
BorderColor="#999999" BorderWidth="0px" CellPadding="1" GridLines="Vertical">  
 
<Columns> 
 
<telerik:GridBoundColumn DataField="user_id" HeaderText="User ID" UniqueName="UserID">  
 
<HeaderStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" 
 
Font-Underline="False" Wrap="True" /> 
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn DataField="last_name" HeaderText="Last Name" UniqueName="LastName">  
 
<HeaderStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" 
 
Font-Underline="False" Wrap="True" /> 
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn DataField="first_name" HeaderText="First Name" UniqueName="FirstName">  
 
<HeaderStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" 
 
Font-Underline="False" Wrap="True" /> 
 
</telerik:GridBoundColumn> 
 
</Columns> 
 
<ExpandCollapseColumn Visible="False">  
 
<HeaderStyle Width="19px" /> 
 
</ExpandCollapseColumn> 
 
<RowIndicatorColumn Visible="False">  
 
<HeaderStyle Width="20px" /> 
 
</RowIndicatorColumn> 
 
</MasterTableView> 
 
<HeaderStyle CssClass="GridHeader"></HeaderStyle> 
 
<GroupHeaderItemStyle CssClass="GroupHeader"></GroupHeaderItemStyle> 
 
<ItemStyle CssClass="GridRow" BorderStyle="None" BorderWidth="0px"></ItemStyle> 
 
<AlternatingItemStyle CssClass="GridRow"></AlternatingItemStyle> 
 
<FooterStyle CssClass="GridFooter"></FooterStyle> 
 
<PagerStyle CssClass="GridPager" Mode="NextPrevAndNumeric"></PagerStyle> 
 
<ClientSettings> 
 
<Scrolling UseStaticHeaders="True" ScrollHeight="" SaveScrollPosition="False"></Scrolling> 
 
<Selecting AllowRowSelect="True" /> 
 
<ClientEvents OnRowClick="MemberSelected" OnRowMouseOver="SelectRow" /> 
 
</ClientSettings> 
 
<GroupPanel> 
 
<PanelItemsStyle CssClass="GroupPanelItems"></PanelItemsStyle> 
 
<PanelStyle CssClass="GroupPanel"></PanelStyle> 
 
</GroupPanel> 
 
<SelectedItemStyle Font-Bold="True" BackColor="LightSteelBlue" /> 
 
<FilterMenu CssClass="FilterTable" EnableViewState="False" HoverBorderColor="LightGray" 
 
SelectColumnBackColor="DarkGray" TextColumnBackColor="WhiteSmoke">  
 
</FilterMenu> 
 
</telerik:RadGrid> 
 
</div> 
 
<script type="text/javascript">  
 
var selected_member = "";  
 
var oWnd = GetRadWindow();  
 
function GetRadWindow() {  
 
var oWindow = null;  
 
if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog  
 
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz az well)  
 
return oWindow;  
 
}  
 
function CloseAndReload() {  
 
oWnd.BrowserWindow.document.forms[0].selected_member.value = selected_member;  
 
oWnd.BrowserWindow.document.forms[0].submit();  
 
oWnd.Close();  
 
}  
 
function MemberSelected(rowIndex) {  
 
CloseAndReload();  
 
}  
 
function SelectRow(rowIndex) {  
 
var row = window["<%= GridMember.ClientID %>"].MasterTableView.Rows[rowIndex];  
 
selected_member = row.KeyValues["user_id"] + ";" + row.KeyValues["last_name"] + ";" + row.KeyValues["first_name"] + ";";  
 
window["<%= GridMember.ClientID %>"].MasterTableView.SelectRow(row.Control, true);  
 
}  
 
</script> 
 
</form> 
 
</body> 
 
</html> 
 

 

 

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 13 Jan 2010, 01:37 PM
Hello Roshin,

You are trying the code for 'ASP.NET version of RadControls' and using the ASP.NET AJAX version. You can access the row in OnRowMouseOver event as shown below.

javscript:
 
    function OnRowMouseOver(sender, eventArgs) { 
        var row = eventArgs.get_gridDataItem(); 
        // Your code 
    } 
You can use getDataKeyValue() method to retrieve the dataKeyValue, associated with the dataItem.

Go through the following link to know important client methods of gridtableview.
GridTableView Class Members

-Shinu.
0
roshin
Top achievements
Rank 1
answered on 19 Jan 2010, 01:39 PM
Thanks for the reply

 i got it fixed by adding clientdatakeynames in mastertable view

Thanks

 

<MasterTableView  ClientDataKeyNames="user_id,last_name,first_name"

and the javascipt

 

 

var DataItem = $find("<%=RadGrid1.ClientID %>").get_masterTableView().get_dataItems()[eventArgs.get_itemIndexHierarchical()];

 

var selected_member = DataItem.getDataKeyValue(

"user_id") + ";" + DataItem.getDataKeyValue("last_name") + ";" + DataItem.getDataKeyValue("first_name") + ";";

 

Tags
Grid
Asked by
roshin
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
roshin
Top achievements
Rank 1
Share this question
or