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

Get the datakey of the selected row OutOfRangeException

4 Answers 116 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Herve
Top achievements
Rank 2
Herve asked on 04 Oct 2013, 12:24 AM
Hi,

I have an issue with the datakey that I'm trying to get from my code behind in the SelectedIndexChanged event (I want to update a panel above the Radgrid when a row is selected).

I saw in the documentation that you recommend to use the following in SelectedIndexChanged 

Dim MyId As Integer = (DirectCast(RadGrid1.SelectedItems(0), GridDataItem)).GetDataKeyValue("MessageId").ToString()


My probleme is that I get the following error:

System.ArgumentOutOfRangeException was unhandled by user code<br>  HResult=-2146233086<br>  Message=L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.<br>Nom du paramètre : index<br>  ParamName=index<br>  Source=mscorlib<br>  StackTrace:<br>       à System.Collections.ArrayList.get_Item(Int32 index)<br>       à Telerik.Web.UI.GridItemCollection.get_Item(Int32 index)<br>       à messages_messages.RadGrid1_SelectedIndexChanged(Object sender, EventArgs e) dans E:\Visual Studio 2012\WebSites\Hotlinexxx\messages\messages.aspx.vb:ligne 34<br>       à System.EventHandler.Invoke(Object sender, EventArgs e)<br>       à Telerik.Web.UI.GridBaseDataList.OnSelectedIndexChanged(EventArgs e)<br>       à Telerik.Web.UI.RadGrid.RaisePostDataChangedEvent()<br>       à Telerik.Web.UI.RadCompositeDataBoundControl.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent()<br>       à System.Web.UI.Page.RaiseChangedEvents()<br>       à System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)<br>  InnerException: 

My Ragrid is inpired from the Outlook grid:
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/webmail/defaultvb.aspx

and in my opinion most important resizing in radsplitter:
http://demos.telerik.com/aspnet-ajax/controls/examples/integration/gridandsplitterresizing/defaultvb.aspx?product=grid
regarding to the ajax it contains.

Here is the ajax manager I use:

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxSettingCreated="RadAjaxManager1_AjaxSettingCreated"<br>        OnAjaxRequest="RadAjaxManager1_AjaxRequest"><br>        <AjaxSettings><br>            <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"><br>                <UpdatedControls><br>                    <telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl><br>                </UpdatedControls><br>            </telerik:AjaxSetting><br>            <telerik:AjaxSetting AjaxControlID="RadGrid1"><br>                <UpdatedControls><br>                    <telerik:AjaxUpdatedControl ControlID="LitMessage"></telerik:AjaxUpdatedControl><br>                    <telerik:AjaxUpdatedControl ControlID="RadGrid1"  LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>   <br>                </UpdatedControls><br>            </telerik:AjaxSetting><br>        </AjaxSettings><br>    </telerik:RadAjaxManager>

I have noticed that if I invert AjaxUpdatedControl ControlID="LitMessage" and ControlID="RadGrid1" the height of the grid is less of 100px height.

Also resizing in rad splitter seems to be a problem for groupong the colomns but this his another story.

I thank you in advance for you help.
Best regards


4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 1
answered on 04 Oct 2013, 07:37 AM
Hi Herve,

Please try the sample code snippet,I was able to get the Selected row DatakeyValue. If this doesn't help,please provide your full code snippet.

ASPX:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    <style type="text/css">
  
    html
    {
            overflow:auto;
    } 
    html,
    body, 
    #<%= RadGrid1PanelClientID %>
    {
            margin:0;
            height:100%;
    }
  
    .p{margin:0;padding:20px;font:12px/1.8 verdana,sans-serif}
  
</style>
</telerik:RadCodeBlock>
<script type="text/javascript">
    function ClientResized(sender, eventArgs) {
        $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest('ChangePageSize');
    }
</script>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxSettingCreated="RadAjaxManager1_AjaxSettingCreated"
    OnAjaxRequest="RadAjaxManager1_AjaxRequest">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadSplitter ID="RadSplitter1" Width="700px" runat="server" Orientation="Horizontal">
    <telerik:RadPane ID="gridPane" runat="server" Height="307px" OnClientResized="ClientResized"
        Scrolling="None">
        <telerik:RadGrid AllowPaging="true" PageSize="40" Width="100%" Height="100%" Style="border: 0;
            outline: none" ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false"
            OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged1">
            <MasterTableView AllowPaging="true" TableLayout="Fixed" DataKeyNames="OrderID">
                <GroupByExpressions>
                    <telerik:GridGroupByExpression>
                        <SelectFields>
                            <telerik:GridGroupByField FieldName="ShipCity" HeaderText="ShipCity" />
                        </SelectFields>
                        <GroupByFields>
                            <telerik:GridGroupByField FieldName="ShipCity" SortOrder="Descending" />
                        </GroupByFields>
                    </telerik:GridGroupByExpression>
                </GroupByExpressions>
                <Columns>
                    <telerik:GridBoundColumn UniqueName="OrderID" DataField="OrderID" HeaderText="OrderID" />
                    <telerik:GridBoundColumn DataField="ShipCity" HeaderText="ShipCity" UniqueName="ShipCity" />
                </Columns>
            </MasterTableView>
                    
            <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                <Selecting AllowRowSelect="true"></Selecting>
                <Scrolling AllowScroll="true" UseStaticHeaders="true"></Scrolling>
            </ClientSettings>
        </telerik:RadGrid>
    </telerik:RadPane>
    <telerik:RadSplitBar CollapseMode="Both" ID="RadSplitBar2" runat="server" EnableResize="True">
    </telerik:RadSplitBar>
    <telerik:RadPane ID="listBoxPane" runat="server" CssClass="TextStyle" BackColor="#d9eeff"
        ForeColor="Black">
        <div style="padding: 10px 10px 10px 10px; margin: 10px 10px 10px 10px;">
            RadSplitter for ASP.NET AJAX
        </div>
    </telerik:RadPane>
</telerik:RadSplitter>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Northwind_newConnectionString3 %>"
    SelectCommand="SELECT * FROM [Orders]"></asp:SqlDataSource>

VB:
Protected Sub Page_Load(sender As Object, e As EventArgs)
    If Not Page.IsPostBack Then
        'Set initial value of the PageSize property.
        RadGrid1.PageSize = 10
    End If
End Sub
Protected Sub RadAjaxManager1_AjaxRequest(sender As Object, e As Telerik.Web.UI.AjaxRequestEventArgs)
    Select Case e.Argument.ToString()
        Case "ChangePageSize"
            'Calculate the number of rows that fit in the RadPane.
            'In this case 23 is the sum of the height of a single row and its upper border width.
            'Depending on the paticular scenario this value may vary.
            Dim rows As Integer = (Int32.Parse(Me.gridPane.Height.Value.ToString()) - 60) / 23
            If rows >= 1 Then
                RadGrid1.PageSize = rows
 
                ' Check whether the CurrentPageIndex is correct.
                If Session("itemsCount") IsNot Nothing Then
                    Dim itemsCount As Integer = CInt(Session("itemsCount"))
                    Dim pageCount As Integer = CInt(Math.Ceiling((CDbl(itemsCount) / rows)))
                    If RadGrid1.MasterTableView.CurrentPageIndex > pageCount - 1 Then
                        RadGrid1.MasterTableView.CurrentPageIndex = pageCount - 1
                    End If
                End If
 
                RadGrid1.Rebind()
            End If
            Exit Select
    End Select
End Sub
 
Public RadGrid1PanelClientID As String
 
Protected Sub RadAjaxManager1_AjaxSettingCreated(sender As Object, e As AjaxSettingCreatedEventArgs)
    If e.Initiator.ID = "RadGrid1" Then
        Me.RadGrid1PanelClientID = e.UpdatePanel.ClientID
    End If
End Sub
 
Protected Sub RadGrid1_SelectedIndexChanged1(sender As Object, e As EventArgs)
    Dim MyId As String = DirectCast(RadGrid1.SelectedItems(0), GridDataItem).GetDataKeyValue("OrderID").ToString()
End Sub

Thanks,
Princy
0
Herve
Top achievements
Rank 2
answered on 04 Oct 2013, 11:27 AM
Hi Princy and thanks for your support,

Unfortunately, these changes didn't fix the problem and I'm alays getting this same error, here is the full code of my page :

<%@ Page Title="" Language="VB" MasterPageFile="~/components/Hotlinexxx.master" AutoEventWireup="false" CodeFile="messages.aspx.vb" Inherits="messages_messages" %><br><%@ Register Src="~/components/MemberDetails.ascx" TagPrefix="uc1" TagName="MemberDetails" %><br><br><br><br><asp:Content ID="Content1" ContentPlaceHolderID="CphHead" Runat="Server"><br><br><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"><br><br><style type="text/css"><br> <br>            html<br>            {<br>                 overflow:auto;<br>            }<br> <br>            html,<br>            body,<br> <br>            #<%= RadGrid1PanelClientID %><br>            {<br>                 margin:0;<br>                 height:100%;<br>            }<br> <br>            .p{margin:0;padding:20px;font:12px/1.8 verdana,sans-serif}<br> <br>        </style><br><br><script type="text/javascript"><br>    function ClientResized(sender, eventArgs) {<br>        $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest('ChangePageSize');<br>    }<br><br>    function RowClick(sender, eventArgs) {<br>        <br>    }    <br></script><br><br> </telerik:RadCodeBlock><br><br></asp:Content><br><br><br><asp:Content ID="Content2" ContentPlaceHolderID="CphContent" Runat="Server"><br><br><br><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxSettingCreated="RadAjaxManager1_AjaxSettingCreated"<br>    OnAjaxRequest="RadAjaxManager1_AjaxRequest"><br>    <AjaxSettings><br>        <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"><br>            <UpdatedControls><br>                <telerik:AjaxUpdatedControl ControlID="RadGrid1"></telerik:AjaxUpdatedControl><br>            </UpdatedControls><br>        </telerik:AjaxSetting><br>        <telerik:AjaxSetting AjaxControlID="RadGrid1"><br>            <UpdatedControls><br>                <telerik:AjaxUpdatedControl ControlID="LitMessage"></telerik:AjaxUpdatedControl><br>                <telerik:AjaxUpdatedControl ControlID="RadGrid1"  LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>   <br>            </UpdatedControls><br>        </telerik:AjaxSetting><br>    </AjaxSettings><br></telerik:RadAjaxManager><br><br><telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" MinDisplayTime="500" runat="server" /><br><telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" MinDisplayTime="500" runat="server" /><br><br><h1><asp:Literal ID="LitTitle" Text="<%$ Resources:Messages, MessTitle %>" runat="server" /></h1><br><br><br><br><telerik:RadSplitter ID="Radsplitter" Height="100%" Width="520px" Orientation="Horizontal" runat="server"><br><br><!-- Top Pane --><br> <telerik:RadPane ID="Rp1" runat="server" Width="100%" Height="300"><br><br>     <br><asp:Literal ID="LitMessage" runat="server" /><br><br><br><!-- End of Top Pane --><br> </telerik:RadPane><br><br><br><br><telerik:RadSplitBar ID="Rsb1" CollapseMode="Forward" runat="server"></telerik:RadSplitBar><br><br><br><br><br><telerik:RadPane ID="Rp2" Width="490" Height="500" OnClientResized="ClientResized" Scrolling="None" runat="server"><br><!-- Bottom Pane --><br><br><br><telerik:RadGrid ID="RadGrid1" runat="server"  Width="100%" Height="100%" Culture="fr-FR"  EnableEmbeddedSkins="False" Skin="Hotlinexxx"<br>GridLines="None" AutoGenerateColumns="False" Style="border: 0; outline: none;"  AllowMultiRowSelection="false"<br>AllowSorting="True" AllowPaging="True" CellSpacing="0" OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged" OnDeleteCommand="RadGrid1_DeleteCommand"<br>OnClientResized="ClientResized" Scrolling="None"><br><br><PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true"></PagerStyle><br><br><AlternatingItemStyle BackColor="#1e1e1e" /><br><SelectedItemStyle BorderStyle="Dashed" BorderWidth="1px" /><br><br>  <br><ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true"><br>        <Selecting AllowRowSelect="True" /><br>        <ClientEvents OnRowClick="RowClick" /><br>        <Scrolling AllowScroll="True" UseStaticHeaders="True"  SaveScrollPosition="True" /><br> </ClientSettings><br><br><MasterTableView DataKeyNames="MessageId" ClientDataKeyNames="MessageId"><br>      <br><br>    <Columns><br><br>    <br>        <telerik:GridBoundColumn DataField="MessageId" DataType="System.Int32" Display="False" FilterControlAltText="Filter MessageId column" HeaderText="MessageId" UniqueName="MessageId"><br>        </telerik:GridBoundColumn><br><br>      <br>        <telerik:GridDateTimeColumn DataField="SendingDate" FilterControlAltText="Filtrer par dates" HeaderText="Date" <br>        UniqueName="SendingDate"  DataFormatString="{0:d}"  Groupable="True" GroupByExpression="GrouperDates"><br>        <HeaderStyle Width="70px"></HeaderStyle><br>        </telerik:GridDateTimeColumn><br><br><br><br>        <telerik:GridTemplateColumn UniqueName="IsRead" HeaderText="v^" SortExpression="IsRead" Groupable="True"><br>            <HeaderStyle Width="30px"></HeaderStyle><br>            <ItemStyle HorizontalAlign="Center" Height="35px"></ItemStyle><br>            <ItemTemplate><br>                <img src='<%# IIf(Eval("IsRead") = 0, "/images/messages/unread.png", "/images/messages/read.png")%>' /><br>            </ItemTemplate><br>        </telerik:GridTemplateColumn><br><br><br><br>        <telerik:GridTemplateColumn UniqueName="TemplateColumn2" GroupByExpression="Grouper par utilisateur"<br>            SortExpression="Username" HeaderText="Pseudo/Sujet"  Groupable="True"><br>            <ItemStyle Height="35px"></ItemStyle><br>            <ItemTemplate><br>                <b><%# StrConv(DataBinder.Eval(Container.DataItem, "Username"), VbStrConv.ProperCase)%></b><br><br>                <br /><br>                <div class="MailSubject"><br>                    <%# DataBinder.Eval(Container.DataItem, "Subject") %><br>                </div><br>            </ItemTemplate><br>        </telerik:GridTemplateColumn><br><br><br>        <telerik:GridTemplateColumn UniqueName="TemplateColumn3" HeaderText="v^" SortExpression="Flagged" Groupable="True"><br>            <HeaderStyle Width="25px"></HeaderStyle><br>            <ItemStyle Height="35px"></ItemStyle><br>            <ItemTemplate><br>                <asp:ImageButton ID="MailFlagImageButton" BorderWidth="0px" CommandName="ChangeFlag" commandargument='<%#Eval("Flagged")%>' <br>                    ImageUrl='<%# IIf(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "Flagged")), "/images/messages/MailFlagRed.png", "/images/messages/MailFlag.png") %>'<br>                    AlternateText="Important" Style="cursor: pointer;" runat="server"></asp:ImageButton><br>            </ItemTemplate><br>        </telerik:GridTemplateColumn><br><br>        <telerik:GridButtonColumn ConfirmText="" ConfirmDialogType="Classic"<br>            ConfirmTitle="Delete" ButtonType="ImageButton" ImageUrl="/images/messages/delete.gif" CommandName="Delete" ConfirmDialogHeight="160px"<br>            ConfirmDialogWidth="250px"><br>            <HeaderStyle Width="25px"></HeaderStyle><br>        </telerik:GridButtonColumn><br><br>        </Columns> <br><br></MasterTableView><br><br><br> <br></telerik:RadGrid><br><br><br><br><!-- End of Bottom Pane --><br></telerik:RadPane><br><br></telerik:RadSplitter><br><br>    <br /><br><br><br><br></asp:Content><br><br><br><asp:Content ID="Content3" ContentPlaceHolderID="CphEop" Runat="Server"><br></asp:Content>

And the code behind:

Imports Telerik.Web.UI<br>Imports System.Data<br>Imports System<br>Imports System.Web.UI.WebControls<br>Imports System.Configuration<br><br>Partial Class messages_messages<br>    Inherits System.Web.UI.Page<br><br>    Dim MessagesClass As New MessagesClass<br><br>    Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)<br><br>        If Not Page.IsPostBack Then<br><br>            'Set initial value of the PageSize property.<br>            RadGrid1.PageSize = 10<br><br>        End If<br><br>    End Sub<br><br><br>    Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource<br>        RadGrid1.DataSource = MessagesClass.GetMessages(Session("UserId"))<br>    End Sub<br><br><br>    Protected Sub RadGrid1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RadGrid1.SelectedIndexChanged<br><br>        <br>        ' Dim MyId As Integer = e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("MessageId").ToString()<br><br>        Dim MyId As Integer = DirectCast(RadGrid1.SelectedItems(0), GridDataItem).GetDataKeyValue("Message").ToString()<br><br><br>        Dim Data As MessagesClass.MessageProfile = MessagesClass.GetMessage(Session("UserId"), MyId)<br><br>        Dim Sb As New StringBuilder<br>        Sb.Append("<p>" & Data.Subject & "</p>")<br>        Sb.Append("<p>" & Data.Message.Replace(vbCrLf, "<br />") & "test" & "</p>")<br><br>        LitMessage.Text = Sb.ToString()<br><br>        MessagesClass.EditStatut(MyId, True)<br><br>        ' RadGrid1.Rebind()<br><br>    End Sub<br><br>    Private Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Handles RadGrid1.ItemCommand<br>        If e.CommandName = "ChangeFlag" Then<br><br>            Dim MyId As Integer = (DirectCast(e.Item, GridDataItem)).GetDataKeyValue("MessageId").ToString()<br>            <br>            MessagesClass.EditFlag(MyId)<br><br>            e.Item.OwnerTableView.Rebind()<br><br>        End If<br>    End Sub<br><br><br>    Protected Sub RadAjaxManager1_AjaxRequest(ByVal sender As Object, ByVal e As Telerik.Web.UI.AjaxRequestEventArgs)<br>        Select Case e.Argument.ToString()<br>            Case "ChangePageSize"<br>                'Calculate the number of rows that fit in the RadPane.<br>                'In this case 23 is the sum of the height of a single row and its upper border width.<br>                'Depending on the paticular scenario this value may vary.<br>                Dim rows As Integer = (Int32.Parse(Me.Rp1.Height.Value.ToString()) - 60) / 23<br>                If rows >= 1 Then<br>                    RadGrid1.PageSize = rows<br><br>                    ' Check whether the CurrentPageIndex is correct.<br>                    If Session("itemsCount") IsNot Nothing Then<br>                        Dim itemsCount As Integer = CInt(Session("itemsCount"))<br>                        Dim pageCount As Integer = CInt(Math.Ceiling((CDbl(itemsCount) / rows)))<br>                        If RadGrid1.MasterTableView.CurrentPageIndex > pageCount - 1 Then<br>                            RadGrid1.MasterTableView.CurrentPageIndex = pageCount - 1<br>                        End If<br>                    End If<br><br>                    RadGrid1.Rebind()<br>                End If<br>                Exit Select<br>        End Select<br>    End Sub<br><br>    Public RadGrid1PanelClientID As String<br><br>    Protected Sub RadAjaxManager1_AjaxSettingCreated(sender As Object, e As AjaxSettingCreatedEventArgs)<br>        If e.Initiator.ID = "RadGrid1" Then<br>            Me.RadGrid1PanelClientID = e.UpdatePanel.ClientID<br>        End If<br>    End Sub<br><br><br>    Protected Sub RadGrid1_DeleteCommand(ByVal sender As Object, ByVal e As GridCommandEventArgs) Handles RadGrid1.DeleteCommand<br>        Dim MessageId = TryCast(e.Item, GridDataItem).GetDataKeyValue("MessageId").ToString()<br>        MessagesClass.DeleteMessage(MessageId)<br>    End Sub<br><br>End Class

Hope there will be a solution.

Best regards,

Herve
0
Herve
Top achievements
Rank 2
answered on 06 Oct 2013, 11:15 PM
Hi again Princy,

I have modified my code and found that the rebind of the datagrid at the bottom of SelectedIndexChanged was the problem.

I'm rebinding the Datagrid because when an user click on a row, I want to mark it as read by modifying its style after having recorded this change in the DB. If I do not rebind, the change is visible at the full refresh of the page and not immediately like it is by rebinding.

Is there in you opinion a work around allowing to fix it ?

Thanks,


Herve
0
Accepted
Princy
Top achievements
Rank 1
answered on 07 Oct 2013, 07:33 AM
Hi Herve,

It's hard to get you code,please paste your code using Format Code Block .Below is a sample code that i tried to get the selected row and its datakey value.

ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged1">
    <MasterTableView>
        <Columns>
            <telerik:GridBoundColumn UniqueName="OrderID" DataField="OrderID" HeaderText="OrderID" />
            <telerik:GridBoundColumn DataField="ShipCity" HeaderText="ShipCity" UniqueName="ShipCity" />
        </Columns>
    </MasterTableView>
    <ClientSettings EnablePostBackOnRowClick="true" Selecting-AllowRowSelect="true">
    </ClientSettings>
</telerik:RadGrid>

VB:
Protected Sub RadGrid1_SelectedIndexChanged1(sender As Object, e As EventArgs)
    Dim selectedItem As GridDataItem = DirectCast(RadGrid1.SelectedItems(0), GridDataItem)
    'accessing selected row
    Dim value As String = selectedItem.GetDataKeyValue("OrderID").ToString()
    selectedItem.CssClass = "color"
End Sub

CSS:
<style type="text/css">
 .color
 {
  background-color: Aqua !important;
 }
</style>

Thanks,
Princy
Tags
Grid
Asked by
Herve
Top achievements
Rank 2
Answers by
Princy
Top achievements
Rank 1
Herve
Top achievements
Rank 2
Share this question
or