download69
جمعه 13 مرداد 1391, 01:10 صبح
سلام دوستان 
من برای صفحه بندی دیتا لیست چند روزی هست که درگیرم که یک روشی رو پیدا کردم که تقریبا نیمی از کار رو انجام میده ولی نیمه دیگه رو نه !
مثلا من اگر 10 تا رکورد داشته باشم و بخوام در هر صفحه 2 رکورد باشه صفحه بندیش درسته ولی اطلاعات رو نشون نمیده ؟؟؟
من یک پروژه که فقط کار صفحه بندی دیتا لیست هستش رو ضمیمه کردم و اساتید محترم میخوام که منو در رفع این مشکل راهنمایی کنند با تشکر 
90644
meisam12
جمعه 13 مرداد 1391, 05:54 صبح
سلام دوست عزیز
این کدها را امتحان کن.
و این تکه کد را برات آپلود کردم.
 <%@ Page language="vb" Src="PagingDataList.aspx.vb" Inherits="PagingDataList" %>  <html>  <head>  <title>DataList Paging</title>  <style rel="StyleSheet">  .tablehead    {    font-family: Verdana, Arial, Helvetica, Sans-Serif;    background-color:#006699;    color:White;    font-size: 10pt;    }  .tablebody    {    font-family: Verdana, Arial, Helvetica, Sans-Serif;    background-color:Gainsboro;    color:Black;    font-size: 10pt;    }  .plaintable    {    font-family: Verdana, Arial, Helvetica, Sans-Serif;    background-color:White;    color:Black;    font-size: 10pt;    }  </style>  </head>  <body>  <form runat="server">  <h3><font face="verdana">DataList Paging</font></h3>  <a name="BookMark"></a>  <asp:DataList ID="dtlCustomers" Runat="server" Width="100%" BorderWidth="1" BorderColor="#006699">    <HeaderTemplate>      <table width="100%" cellspacing="0" cellpadding="0">        <tr class="tablehead">          <th align="left" width="30%">Company Name</th>          <th align="left" width="15%">Contact Name</th>          <th align="left" width="25%">Contact Title</th>          <th align="left" width="15%">Country</th>          <th align="left" width="15%">Telephone</th>        </tr>    </HeaderTemplate>    <ItemTemplate>      <tr class="tablebody">        <td><%# DataBinder.Eval(Container.DataItem, "CompanyName") %></td>        <td><%# DataBinder.Eval(Container.DataItem, "ContactName") %></td>        <td><%# DataBinder.Eval(Container.DataItem, "ContactTitle") %></td>        <td><%# DataBinder.Eval(Container.DataItem, "Country") %></td>        <td><%# DataBinder.Eval(Container.DataItem, "Phone") %></td>      </tr>    </ItemTemplate>    <FooterTemplate>      </table>    </FooterTemplate>  </asp:DataList>  <table width=100%>    <tr>      <td width=42% align=left>        <asp:label ID="lblCounts" Runat="server" CssClass="plaintable" />      </td>      <td width=4% valign="bottom">        <a href="pagingdatalist.aspx#BookMark" id="First" OnServerClick="ShowFirstPage" runat="server">        <img src="images/firstpage.gif" border="0"></a>      </td>      <td width=4% valign="bottom">        <a href="pagingdatalist.aspx#BookMark" id="Previous" OnServerClick="ShowPreviousPage" runat="server">        <img src="images/prevpage.gif" border="0"></a>      </td>      <td width=4% valign="bottom">        <a href="pagingdatalist.aspx#BookMark" id="Next" OnServerClick="ShowNextPage" runat="server">        <img src="images/nextpage.gif" border="0"></a>      </td>      <td width=4% valign="bottom">        <a href="pagingdatalist.aspx#BookMark" id="Last" OnServerClick="ShowLastPage" runat="server">        <img src="images/lastpage.gif" border="0"></a>      </td>      <td width="42%"> </td>    </tr>  </table>  <asp:label ID="lblRecordCount" Visible="False" Runat="server" />  <asp:label ID="lblCurrentIndex" Visible="False" Text="0" Runat="server" />  <asp:label ID="lblPageSize" Visible="False" Text="10" Runat="server" />  </form>  </body>  </html> 
 dataAdapter.Fill (dataSet, Cint(lblCurrentIndex.Text), CInt(lblPageSize.Text), "Customers")
Imports System.Data  Imports System.Data.SqlClient  Imports System.Configuration  Imports Microsoft.VisualBasic    Public Class PagingDataList : Inherits System.Web.UI.Page      Protected lblCurrentIndex As System.Web.UI.WebControls.Label    Protected lblRecordCount As System.Web.UI.WebControls.Label    Protected dtlCustomers As System.Web.UI.WebControls.DataList    Protected lblPageSize As System.Web.UI.WebControls.Label    Protected lblCounts As System.Web.UI.WebControls.Label      Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)      If Not Page.IsPostBack() Then        BindTheData()      End If    End Sub      Private Sub BindTheData()      Dim objConn As New SqlConnection(ConfigurationSettings.AppSettings("NorthwindConnection"))      Dim strSql As String = "SELECT CompanyName, ContactName, ContactTitle, Country, Phone FROM Customers"      Dim dataAdapter As New SqlDataAdapter(strSql, objConn)      Dim dataSet As New DataSet()      If Not Page.IsPostBack() Then        dataAdapter.Fill(dataSet)        lblRecordCount.Text = CStr(dataSet.Tables(0).Rows.Count)        dataSet = Nothing        dataSet = New DataSet()      End If      dataAdapter.Fill (dataSet, Cint(lblCurrentIndex.Text), CInt(lblPageSize.Text), "Customers")      dtlCustomers.DataSource = dataSet.Tables("Customers").DefaultView      dtlCustomers.DataBind()      objConn.Close()      ShowCounts()    End Sub 
 Public Sub ShowFirstPage(ByVal s As System.Object, ByVal e As System.EventArgs)      lblCurrentIndex.Text = "0"      BindTheData()    End Sub      Public Sub ShowPreviousPage(ByVal s As System.Object, ByVal e As System.EventArgs)      lblCurrentIndex.Text = Cstr(Cint(lblCurrentIndex.Text) - CInt(lblPageSize.Text))      If CInt(lblCurrentIndex.Text) < 0 Then        lblCurrentIndex.Text = "0"      End If      BindTheData()    End Sub      Public Sub ShowNextPage(ByVal s As System.Object, ByVal e As System.EventArgs)      If CInt(CInt(lblCurrentIndex.Text) + CInt(lblPageSize.Text)) < CInt(lblRecordCount.Text) Then        lblCurrentIndex.Text = CStr(CInt(lblCurrentIndex.Text) + CInt(lblPageSize.Text))      End If      BindTheData()    End Sub      Public Sub ShowLastPage(ByVal s As System.Object, ByVal e As System.EventArgs)      Dim intMod as Integer      intMod = CInt(lblRecordCount.Text) Mod CInt(lblPageSize.Text)      If intMod > 0 Then        lblCurrentIndex.Text = Cstr(CInt(lblRecordCount.Text) - intMod)      Else        lblCurrentIndex.Text = Cstr(CInt(lblRecordCount.Text) - CInt(lblPageSize.Text))      End If      BindTheData()    End Sub      Private Sub ShowCounts()      lblCounts.Text = "|Total Rows: <b>" & lblRecordCount.Text      lblCounts.Text += "</b> | Page:<b> "      lblCounts.Text += CStr(CInt(CInt(lblCurrentIndex.Text) / CInt(lblPageSize.Text)+1))      lblCounts.Text += "</b> of <b>"      If (CInt(lblRecordCount.Text) Mod CInt(lblPageSize.Text)) > 0 Then        lblCounts.Text += CStr(Fix(CInt(lblRecordCount.Text) / CInt(lblPageSize.Text)+1))      Else        lblCounts.Text += CStr(Fix(lblRecordCount.Text) / CInt(lblPageSize.Text))      End If      lblCounts.Text += "</b> |"    End Sub   End Class
khz-web1
جمعه 13 مرداد 1391, 17:05 عصر
سلام به لینک زیر مراجعه کن
http://www.how2learnasp.net/article.aspx?code=652b10cf-8fc2-44c3-bacd-f82ac182acd1
موفق باشی
download69
جمعه 13 مرداد 1391, 18:37 عصر
آقا میثم دستتون دردنکنه جواب داد 
ولی من یک مشکل دیگه پیدا کردم و اونم اینه که وقتی یک رکود جدید اضاف میشه من می خوام که بالای رکورد های دیگه قرار بگیره و من قبل از روش صفحه بندی چون دیتا لیست به دیتا سورس وصل بود تو قسمت سلکتش از دستور order استفاده کردم که این کار رو واسم میکرد ولی برای روش من بلد نیسم که باید چیکار کنم؟؟؟؟
لطفا میگید که باید پیکار کنم
mikhak_sefid
پنج شنبه 09 شهریور 1391, 00:06 صبح
سلام 
من همین مشکل داشتم بر اساس تاریخ مرتب کردم اطلاعات جدید در بالای رکوردها نشون میده
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.