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

[Solved] SelectedItems returning zero

3 Answers 234 Views
Grid
This is a migrated thread and some comments may be shown as answers.
bdk0172
Top achievements
Rank 1
bdk0172 asked on 29 Apr 2009, 01:40 PM
Have the following grid in my aspx page:
<telerik:RadGrid id="gridMessages" runat="server" AllowSorting="True" OnNeedDataSource="gridMessages_NeedDataSource" 
 
AutoGenerateColumns="False" Skin="Office2007" AllowMultiRowSelection="True" Width="99%" EnableViewState="true" > 
 
<MasterTableView Width="100%">  
 
<Columns> 
 
<telerik:GridClientSelectColumn Reorderable="False" UniqueName="ClientSelectColumn">  
 
<HeaderStyle Width="20px"></HeaderStyle> 
 
</telerik:GridClientSelectColumn> 
 
<telerik:GridHyperLinkColumn DataNavigateUrlFields="msgtype,msggroupid,msgnumber" UniqueName="View"   
 
DataNavigateUrlFormatString="MessageDetail.aspx?t={0}&g={1}&n={2}" Text="View" > 
 
<ItemStyle ForeColor="Blue" /> 
 
</telerik:GridHyperLinkColumn> 
 
<telerik:GridBoundColumn HeaderText="Type" DataField="msgtype" Visible="false">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Group" DataField="msggroupid">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Number" DataField="msgnumber" Visible="false">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Recv'd Date" DataField="recvdtdate">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Recv'd Time" DataField="recvdttime">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Tag" DataField="msgtag">  
 
</telerik:GridBoundColumn> 
 
<telerik:GridBoundColumn HeaderText="Description" DataField="msgdescription">  
 
</telerik:GridBoundColumn> 
 
</Columns> 
 
</MasterTableView> 
 
<ClientSettings> 
 
<Selecting AllowRowSelect="True" /> 
 
</ClientSettings> 
 
</telerik:RadGrid> 
 

I'm attempting to set up a Hashtable to the values from the grid with the following code:
        public List<Hashtable> getSelectedValues()  
        {  
            List<Hashtable> list = new List<Hashtable>();  
 
            GridItemCollection items = gridMessages.SelectedItems;  
            foreach (GridItem item in items)  
            {  
                Hashtable values = new Hashtable();  
                ((GridDataItem)item).ExtractValues(values);  
                list.Add(values);  
            }  
 
            return list;  
        } 

I can check any number of rows in the GridClientSelectColumn, but no matter what, gridMessages.SelectedItems is always zero.  Any ideas?

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 30 Apr 2009, 04:49 AM
Hi,

The above given code was working fine on my end. Just give a try with the following approach and see whether you are getting the Selected items.

CS:
 
 
       List<Hashtable> list = new List<Hashtable>(); 
        foreach (GridDataItem item in RadGrid1.MasterTableView.GetSelectedItems()) 
        { 
            Hashtable values = new Hashtable(); 
            ((GridDataItem)item).ExtractValues(values); 
            list.Add(values); 
        } 


Thanks
Shinu.
0
bdk0172
Top achievements
Rank 1
answered on 30 Apr 2009, 12:53 PM
This doesn't return any selected items either.  If I check radGrid.Items.Count, it returns the correct number of rows that are in the grid, so the code-behind is definitely able to access the grid.
0
bdk0172
Top achievements
Rank 1
answered on 30 Apr 2009, 01:14 PM
Figured it out.  Moved the following code from Page_Load to Page_PreRender and my original code and your code both work:

gridMessages.DataSource =

null;

 

gridMessages.Rebind();

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