Solved

Paging a DataList using

Posted on 2008-10-17
3
1,272 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
  • 2
3 Comments
 
LVL 10

Accepted Solution

by:
jinn_hnnl earned 500 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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

757 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now