?
Solved

Paging a DataList using

Posted on 2008-10-17
3
Medium Priority
?
1,308 Views
Last Modified: 2013-11-07
I have a web page where I would like to display data tiled horizontally.  The problem is that my data will have over 3,000 records.  If I use the DataList data control, it does not allow for paging.  

Is there a way to convert my code listed below into some sort of pageable DataList?  Thanks in advance!
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
        SelectCommand="SELECT * FROM Project WHERE (Orderable = '1')>
    </asp:SqlDataSource>
    <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" Width="100%"
        RepeatColumns="4" RepeatDirection="Horizontal" CellPadding="2" CellSpacing="2">
        <ItemTemplate>
            <itemtemplate>
                    <asp:Image ID="Image2" runat="server" Width="125px" ImageUrl='<%# Eval("ID", "ImageLoader.ashx?id={0}") %>' />
                    <br />
                    <%# DataBinder.Eval(Container.DataItem, "Name")%>
                    <br /><br />
                    Amount:&nbsp;&nbsp;<%# DataBinder.Eval(Container.DataItem, "Amount")%>
                </itemtemplate>
        </ItemTemplate>
        <ItemStyle Font-Size="10px" BorderColor="Black" BorderStyle="Solid" BorderWidth="1px" />
    </asp:DataList>

Open in new window

0
Comment
Question by:deloused
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 10

Accepted Solution

by:
jinn_hnnl earned 2000 total points
ID: 22743707
Yes DataList has no paging mechanism. You gotta make it your own, there are several ways. But the best way you can do is Binding your Datalist datasource dynamically.

http://forums.asp.net/t/1319544.aspx

You can use SqlDataAdapter, the SqlDataAdapter allow you to select and get data upon start and number of record you want to return. Try to remember the page number using ViewState and using when you fill the dataSet

Hope this helps

JINN






public DataTable getTheData()
    {
 
        DataSet DS = new DataSet();
        SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyProject"].ConnectionString);
 
        SqlDataAdapter objSQLAdapter = new SqlDataAdapter("SELECT * FROM Project WHERE (Orderable = '1'", myConnection); objSQLAdapter.Fill(DS, "Projects");
 
 
        return DS.Tables[0];
 
    }
 
    void doPaging()
    {
 
        pagedData.DataSource = getTheData().DefaultView;
 
        pagedData.AllowPaging = true;
        pagedData.PageSize = 4;

Open in new window

0
 

Author Comment

by:deloused
ID: 22743892
Awesome. That was exactly what I was looking for.  
0
 
LVL 10

Expert Comment

by:jinn_hnnl
ID: 22744254
Cool,

I am glad to help ^^

JINN
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

719 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question