Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,451

HOME > .NET Framework > Forum > สอบถามเกี่ยวกับการสร้าง Paging ให้กับข้อมูลเพื่อแสดงหน้าเว็บไซต์หน้าละ 20 รายการข้อมูล โดย Asp.net



 

สอบถามเกี่ยวกับการสร้าง Paging ให้กับข้อมูลเพื่อแสดงหน้าเว็บไซต์หน้าละ 20 รายการข้อมูล โดย Asp.net

 



Topic : 120411



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



สอบถามเกี่ยวกับการสร้าง Paging ให้กับข้อมูลเพื่อแสดงหน้าเว็บไซต์หน้าละ 20 รายการข้อมูล โดย Asp.net


ใช้ code ประมาณนี้ในการแสดงข้อมูล (ไม่ได้ใช้ Gridview คะ)

Code (ASP)
        Dim cn As New SqlClient.SqlConnection(Me.GSqlCon)
        Dim cmd As New SqlClient.SqlCommand("select * from (select row_number() over (order by Username) as Number,* from Table_User)Table_User where [Type]='User' ", cn)
        Dim DA As New SqlClient.SqlDataAdapter(cmd)
        Dim DT As New DataTable
        DA.Fill(DT)
        Dim S1 As New StringBuilder

        For Each dr As DataRow In DT.Rows
            S1.Append("<tr>")
            S1.Append("<td>" & dr("Username") & "</td>")
            S1.Append("<td>" & dr("name") & "" & dr("SurName") & "</td>")
            S1.Append("<td>" & dr("Position") & "</td>")
            S1.Append("<td>")
            S1.Append("<button class='btn btn-primary btn-xs'>")
            S1.Append("<i class='fa fa-pencil'>")
            S1.Append("</i>")
            S1.Append("</button>")
            S1.Append("</td>")
            S1.Append("<td>")
            S1.Append("<button class='btn btn-danger btn-xs'>")
            S1.Append("<i class='fa fa-trash-o'>")
            S1.Append("</i>")
            S1.Append("</button>")
            S1.Append("</td>")
            S1.Append("</tr>")
        Next
        Return S1.ToString




Tag : ASP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-12-09 17:28:45 By : Natcha20151 View : 690 Reply : 11
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ไปใช้พวก GridView กับ Pagging ดีแล้วครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-10 09:06:40 By : mr.win
 


 

No. 2



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ทำได้แล้วคะ แต่ไม่ได้ใช้ Gridview
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-14 16:03:22 By : Natcha.ki
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช้วิธีไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-15 08:30:09 By : mr.win
 


 

No. 4



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.win เมื่อวันที่ 2015-12-15 08:30:09
รายละเอียดของการตอบ ::
code คะ

Code (VB.NET)
Imports System.Data
Imports System.Data.SqlClient

Public Class Index_Data_Admin
    Inherits PFPPagesec

    Dim con As New SqlConnection(Me.GSqlCon)
    Dim str As String
    Dim com As SqlCommand
    Dim sqlda As SqlDataAdapter
    Dim ds As DataSet

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack() Then
            page_length.Text = "20"
            start_page.Text = "0"
            bindlist()
        End If
    End Sub

    Public Sub First_record(ByVal s As Object, ByVal e As EventArgs)
        start_page.Text = "0"
        bindlist()
    End Sub

    Public Sub Previous_record(ByVal s As Object, ByVal e As EventArgs)
        start_page.Text = CStr(CInt(start_page.Text) - CInt(page_length.Text))
        If CInt(start_page.Text) < 0 Then
            start_page.Text = "0"
        End If
        bindlist()
    End Sub

    Public Sub Next_record(ByVal s As Object, ByVal e As EventArgs)
        If CInt(start_page.Text) + 1 < CInt(count_data.Text) Then
            start_page.Text = CStr(CInt(start_page.Text) + CInt(page_length.Text))
        End If
        bindlist()
    End Sub

    Public Sub Last_record(ByVal s As Object, ByVal e As EventArgs)
        Dim i As Integer

        i = CInt(count_data.Text) Mod CInt(page_length.Text)
        If i > 0 Then
            start_page.Text = CStr(CInt(count_data.Text) - i)
        Else
            start_page.Text = CStr(CInt(count_data.Text) - CInt(page_length.Text))
        End If
        bindlist()
    End Sub

    Sub bindlist()
        con.Open()
        str = "select * from V_USER where Type='ADMIN' order by Username asc "
        sqlda = New SqlDataAdapter(str, con)
        ds = New DataSet()

        If Not Page.IsPostBack() Then
            sqlda.Fill(ds)
            count_data.Text = CStr(ds.Tables(0).Rows.Count)
        End If

        sqlda.Fill(ds, CInt(start_page.Text), CInt(page_length.Text), "V_USER")
        datalist_paging.DataSource = ds
        datalist_paging.DataMember = "V_USER"
        datalist_paging.DataBind()
        con.Close()
        navigate()
    End Sub

    Private Sub navigate()
        'lblshow.ForeColor = Drawing.Color.Tomato
        'lblshow.BackColor = Drawing.Color.Yellow
        lblshow.Text = "จำนวน " & count_data.Text
        lblshow.Text += " รายการ - Page :<b> "
        lblshow.Text += CStr(CInt(CInt(start_page.Text) / CInt(page_length.Text) + 1))
        lblshow.Text += "</b> of <b>"

        If (CInt(count_data.Text) Mod CInt(page_length.Text)) > 0 Then
            lblshow.Text += CStr(CInt(CInt(count_data.Text) / CInt(page_length.Text) + 1))
        Else
            lblshow.Text += CStr(CInt(count_data.Text) / CInt(page_length.Text))
        End If
        lblshow.Text += "</b>"
    End Sub

End Class


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-25 13:52:23 By : Natcha.ki
 


 

No. 5



โพสกระทู้ ( 5 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 4 เขียนโดย : Natcha.ki เมื่อวันที่ 2015-12-25 13:52:23
รายละเอียดของการตอบ ::
หน้าฟอร์ม
...Code (ASP)
<asp:Content ID="Content2" ContentPlaceHolderID="CD" runat="server">
              <div class="row mt">
    <div class="col-md-12">
        <div class="content-panel">                          
 
<asp:DataList ID="datalist_paging" Runat="server">
    <HeaderTemplate>
       <table class="table table-striped table-advance table-hover">
         <h3><i class="fa fa-angle-right" style="padding-left:15px"></i> ข้อมูลผู้ดูแลระบบ</h3>
         <hr>
         <thead>
         <tr>
            <th></th>
            <th width="100px">รหัสพนักงาน</th>
            <th width="100px">ชื่อ</th>
            <th width="150px">นามสกุล</th>
            <th width="350px">ตำแหน่ง</th>
            <th width="50px">แก้ไข</th>
            <th width="50px">ลบ</th>    
        </tr>
        </thead>
    </HeaderTemplate>
    <ItemTemplate>
            <td><%# Eval("Username")%></td>
            <td>คุณ<%# Eval("name")%></td>
            <td><%# Eval("surname")%></td>
            <td><%# Eval("POSITION_NAME")%></td>
            <td><a href="Index_Admin_Edit.aspx?Username=<%# Eval("Username")%>" class="btn btn-primary btn-xs"><i class='fa fa-pencil'></i></a></td>
            <td><a class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i></a></td>
    </ItemTemplate>
    <FooterTemplate>
     </table>
    </FooterTemplate>
</asp:DataList>
    <asp:label ID="start_page" Visible="False" Runat="server" />
    <asp:label ID="page_length" Visible="False" Runat="server" />
    <asp:label ID="count_data" Visible="False" Runat="server" />
</div>
<div class="showback">
    <h4><i class="fa fa-angle-right"></i>
        <asp:label ID="lblshow" Runat="server" Font-Bold="False" />
    </h4>
    <div class="btn-group"> 
        <button ID="A1" type="button" class="btn btn-default" onserverclick="First_record" runat="server"><<</button>  
        <button ID="Previousrecord" type="button" class="btn btn-default" onserverclick="Previous_record" runat="server"><</button>
        <button ID="Nextrecord" type="button" class="btn btn-default" onserverclick="Next_record" runat="server">></button>
        <button ID="A2" type="button" class="btn btn-default" onserverclick="Last_record" runat="server">>></button>
    </div>      					
</div><!-- /content-panel -->
    </div><!-- /col-md-12 -->
              </div><!-- /row -->   
</asp:Content>



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-25 13:54:11 By : Natcha.ki
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-25 21:36:21 By : mr.win
 


 

No. 7

Guest


@MAY

จาก #NO4 และ #NO5

ผมสวัสดีปีใหม่กับคุณผ่านคำว่า จาก#NO3 "ใช้วิธีไหนครับ"


และเทคนิคการดึงข้อมูลครั้งละ > หนึ่งล้านระเบียน (Unlimit)
ผ่านคำว่า "โปรแกรมเมอร์ เหนือ โปรแกรมเมอร์ " 1 ใน 10 ของเมืองไทย


การทำ Paging แสดงผลครั้งละ == pageSize

สมมุติวา pageSize = 20

1. ถ้ารู้ตำแหน่งระเบียน (RowIndex)
Code (VB.NET)
    Public Shared Function getRows(ByVal RowIndex As Integer, ByVal pageSize As Integer) As List(Of yourData)
        Dim lst = DirectCast(HttpContext.Current.Session("curPage_PLACE"), List(Of Model.PLACE))
        Dim pageIndex As Integer = 0 'หาหน้าป้จจุบันโดยทราบตำแหน่งระเบียน(แถวที่)
        Dim totalCount As Integer = lst.Count

        '*****        
        'Select * From youTable Where yourCondition Order By yourOrderby
        '*****            

        If RowIndex > 0 Then
            pageIndex = CInt(Math.Round(CDbl(RowIndex ) / CDbl(pageSize)))
        End If

        'อันนี้ใช้ LOCAL LINQ/LAMPDA
        Dim r = lst.Skip((pageIndex) * pageSize).Take(pageSize).ToList()
        Return r
    End Function




ปล. คนเราถ้าคิดเล็กคิดน้อยมันก็ทะเลาะกันได้ทั้งวัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-28 19:47:34 By : หน้าฮี
 


 

No. 8

Guest


2. ถ้ารู้ตำแหน่งหน้า (pageIndex)

Code (VB.NET)
Public Shared Function getRows(ByVal pageIndex As Integer, ByVal pageSize As Integer) As List(Of yourData)
    Dim lst = DirectCast(HttpContext.Current.Session("curPage_PLACE"), List(Of Model.PLACE))
    Dim totalCount As Integer = lst.Count

    '*****        
    'Select * From youTable Where yourCondition Order By yourOrderby
    '*****            
    'อันนี้ใช้ LOCAL LINQ/LAMPDA
    Dim r = lst.Skip((pageIndex) * pageSize).Take(pageSize).ToList()
    Return r
End Function



ปล. คนเราถ้ารู้จริงจะไม่มีคำว่า "ชักช้า" (โปรแกรมเมอร์มักจะกลัวคำว่า "กลัวท้อง")


More...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-28 20:23:06 By : หน้าฮี
 


 

No. 9

Guest


จาก #NO7 ถึง #NO8 ผมพูดถึง "ได้หน้า (Paging)"
--- เทคนิค Paging (ได้หน้า)

มันยังมีเทคนิค Lazy Load (ได้หลัง)
--- เทคนิคนี้โปรแกรมเมอร์ทั่วฯไปมักจะไม่ค่อยได้ใช้

และยังมีอีก 1. + 2. ---> กลายเป็นหัวข้อที่ 3.
ปล. ผมเป็นคนได้หลังและไม่ลืมหน้า


ปล. คนเขียน SQL Query ปิดงบทางบัญชีและใช้เพียง 1 Query มันยังมีอยู่ในเมืองไทย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-28 20:31:14 By : หน้าฮี
 


 

No. 10

Guest


จากคำถามของคุณจนถึง #NO3

ผมกวาดสายตาดูผ่านผ่าน และไม่มีอะไรที่ผมไม่รู้


ปล. ตอนนี้ผมทำงานอยู่บนดาวพลูโต
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-28 20:38:58 By : หน้าฮี
 


 

No. 11

Guest


ปล. คนเราถ้าคิดเล็กคิดน้อยมันก็ทะเลาะกันได้ทั้งวัน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-28 20:40:25 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับการสร้าง Paging ให้กับข้อมูลเพื่อแสดงหน้าเว็บไซต์หน้าละ 20 รายการข้อมูล โดย Asp.net
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่