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

Technique to navigate to specific row

3 Answers 60 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Kermit
Top achievements
Rank 1
Kermit asked on 02 Jan 2013, 04:53 PM
I have a radGrid with paging enabled (20 rows per page).  The grid could sometimes have 1500 rows in it.  The rows represent book titles with associated data like price, author, etc.  Could anyone suggest a technique or mechanism to allow the user to specify a book title and have the grid jump to the grid page that contains that title?

I do not want to use filtering... I want the displayed grid to remain fully populated with all 1500 rows.

Thanks.

3 Answers, 1 is accepted

Sort by
0
Kermit
Top achievements
Rank 1
answered on 04 Jan 2013, 04:23 PM
No one else has ever had this requirement?  Anyone?  Hard to believe...
0
Princy
Top achievements
Rank 2
answered on 05 Jan 2013, 06:16 AM
Hi,

Here is the sample code that I tried to achieve your scenario.

ASPX:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" />
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="true" PageSize="5" AutoGenerateColumns="false" DataSourceID="SqlDataSource1">
  <MasterTableView>
     <Columns>
       <telerik:GridBoundColumn DataField="EmployeeID" HeaderText="EmployeeID" UniqueName="EmployeeID">
       </telerik:GridBoundColumn>
       <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" UniqueName="FirstName">
       </telerik:GridBoundColumn>
       <telerik:GridBoundColumn DataField="LastName" HeaderText="Last Name" UniqueName="LastName">
       </telerik:GridBoundColumn>
   </Columns>
</MasterTableView>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT * FROM [Employees] " >
</asp:SqlDataSource>

C#:
protected void Button1_Click(object sender, EventArgs e)
    {
        RadGrid1.AllowPaging = false;
        RadGrid1.Rebind();
        int rowIndex=0;
        foreach (GridDataItem item in RadGrid1.Items)
        {
            string strIndex = RadGrid1.MasterTableView.CurrentPageIndex.ToString();
            if (item["FirstName"].Text == TextBox1.Text)
            {
                 rowIndex = item.ItemIndex;
                 break;
            }
        }
        RadGrid1.AllowPaging = true;
        int pageSize = RadGrid1.MasterTableView.PageSize;
        int newPageIndex = rowIndex/ pageSize;
        RadGrid1.MasterTableView.CurrentPageIndex = newPageIndex;
        RadGrid1.Rebind();
    }

Hope this helps.

Regards,
Princy.
0
Kermit
Top achievements
Rank 1
answered on 08 Jan 2013, 06:56 PM
Thank you Princy, I'll give that a shot when I get a free moment.  Appreciate your help!
Tags
Grid
Asked by
Kermit
Top achievements
Rank 1
Answers by
Kermit
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or