نمایش نتایج 1 تا 10 از 10

نام تاپیک: نمایش لینک تعداد صفحات در Paging با Repeater

  1. #1

    Question نمایش لینک تعداد صفحات در Paging با Repeater

    با عرض سلام خدمت اساتید محترم

    من اطلاعات رو به روشی که آقای راد گفتند صفحه بندی کرده ام
    http://www.barnamenevis.org/sh...ad.php?t=24218
    از ایشون هم کمال تشکر را دارم

    ولی نمیدونم چجوری لینک تعداد صفحات رو اضافه کنم
    مثلا : 1 2 3 4 5

    لطفا نظر بدین بهترین راه و استاندارد ترین راه چیست ؟

    از همگی ممنونم

  2. #2
    در پایین همان مقاله نوشته ام:

    می توان قالب Paging را با اندکی تغییر در کد فوق به گونه ای تغییر داد که به تعداد صفحات، بر روی وب فرم لینک قرار بگیرد. (نمونه ای شبیه به آنچه که در این سایت وجود دارد)
    بدین منظور می باید تعداد کل رکوردها را با استفاده از روشی همانند دستور اس کیو ال Count به دست آورد و با تقسیم عدد به دست آمده بر تعداد دلخواه نمایش رکوردها در هر صفحه (همانند آنچه که در مقدار دهی به خاصیت PageSize کلاس PagedDataSouce مشخص کرده اید)، تعداد لینک ها را به دست آورده و بر مبنای آن تعداد، کنترل HyperLink به وب فرم اضافه کنید و ...)

  3. #3

    Red face

    نقل قول نوشته شده توسط Behrouz_Rad
    کنترل HyperLink به وب فرم اضافه کنید و ...
    آقای راد من تو همین یه تیکش گیرم
    ممنون میشم راهنمایی کنید که بهترین و ساده ترین راه برای اضافه کردن این لینک ها چیست ؟

  4. #4
    در یک حلقه ی For، از تگ A هم می تونید استفاده کنید.
    احتمالا با اضافه کردن کنترل ها به صورت پویا مشکل دارید.
    ساده ست!
    یک متغیر از نوع کنترل Hyperlink تعریف کنید.
    با نسب دادن یک ID به آن و سپس ایجاد یک PlaceHolder و استفاده از متد Add خاصیت Controls این کنترل، Hyperlink را به فرم اضافه کنید.
    موفق باشید.

  5. #5
    از شما ممنونم . منم هیمنو می خواستم . می خواستم بدونم باید با PlaceHolder کار کرد یا راه دیگر و بهتری هم
    وجود دارد یا نه ؟ همین . ممنونم

  6. #6
    به هر حال هر کنترلی که به صورت پویا ایجاد می شود، باید به کنترلی دیگر اضافه شود.
    بهترین کنترل برای اینکار، کنترل PlaceHolder است که به همین منظور ایجاد شده است.
    بهتر است که که از تگ A استفاده کنید.
    موفق باشید.

  7. #7

  8. #8
    عرض کردم یا از کنترل Hyperlink استفاده کنید و یا از تگ A

  9. #9
    با سلام
    فرض کنید که ما به روش گفته شده شماره ها را نمایش دادیم.در ضمن ما query را طوری نوشته ایم که در هر دفعه تعداد محدودی record بیاورد.حالا رسیدهایم به صفحه 5 درضمن دیتا ست هم تمام شده است و باید دوباره با record های بعدی fill شود .حالا کاربر انتظار دارد وقتی که روی 5 کلیک کند6و7و8و.. نیز ظاهر شوند .
    سوال:
    با چه eventی دیتا بیس باید دوباره load شودو...
    با تشکر از اقای رادو سایر دوستان.

  10. #10
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    mb = Request.QueryString("name")

    '== CREATE PAGING BUTTONS ==

    '-- Load array ItemNumberList with item numbers
    Dim ItemNumberList = New ArrayList
    DBConnection = New OleDbConnection( _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=d:\db2.mdb")
    DBConnection.Open()
    SQLString = "SELECT isbn FROM t1 where name=@name ORDER BY isbnno "
    DBCommand = New OleDbCommand(SQLString, DBConnection)
    DBCommand.Parameters.Add("@name", mb)
    DBReader = DBCommand.ExecuteReader()
    While DBReader.Read()
    ItemNumberList.Add(DBReader("isbnno"))
    End While
    DBReader.Close()
    DBConnection.Close()
    ItemNumberList.TrimToSize()

    '-- Create Paging Buttons
    Dim StartIndex = 0
    Dim EndIndex As Integer
    Dim StartKey As String
    Dim EndKey As String
    Dim i As Integer

    PageButtons.Controls.Clear()
    For i = 1 To Math.Ceiling(ItemNumberList.Count / PageSize)

    EndIndex = StartIndex + PageSize - 1
    If EndIndex > ItemNumberList.Count - 1 Then
    EndIndex = ItemNumberList.Count - 1
    End If

    StartKey = ItemNumberList(StartIndex)
    EndKey = ItemNumberList(EndIndex)

    Dim PageButton As Button
    PageButton = New Button
    PageButton.Text = i
    PageButton.ID = "P" & i
    PageButton.CommandName = StartKey & "|" & EndKey
    PageButton.Style("width") = "20px"
    PageButton.Style("background-color") = "#F0F0F0"
    AddHandler PageButton.Command, AddressOf GetPage
    PageButtons.Controls.Add(PageButton)

    StartIndex += PageSize

    Next

    '== CREATE ARRAYLIST FOR BINDING ITEM TYPES ==

    ' ItemTypes = New ArrayList
    ' DBConnection = New OleDbConnection( _
    ' "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    ' "Data Source=d:\eCommerce\Databases\eCommerce.mdb")
    ' DBConnection.Open()
    ' SQLString = "SELECT DISTINCT ItemType FROM Products ORDER BY ItemType"
    ' DBCommand = New OleDbCommand(SQLString, DBConnection)
    ' DBReader = DBCommand.ExecuteReader()
    ' While DBReader.Read()
    ' ItemTypes.Add(DBReader("ItemType"))
    ' End While
    ' DBReader.Close()
    ' DBConnection.Close()

    If Not Page.IsPostBack Or ViewState("Updated") = True Then

    '== BIND INITIAL REPEATER ==

    DBConnection = New OleDbConnection( _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=d:\db2.mdb")
    DBConnection.Open()
    SQLString = "SELECT TOP " & PageSize & " * FROM t1 where name=@name ORDER BY isbnno"
    DBCommand = New OleDbCommand(SQLString, DBConnection)
    DBCommand.Parameters.Add("@name", mb)
    DBReader = DBCommand.ExecuteReader()
    Repeaterdisplay.DataSource = DBReader
    Repeaterdisplay.DataBind()
    DBReader.Close()
    DBConnection.Close()

    Dim FirstButton As Button
    FirstButton = CType(PageButtons.FindControl("P1"), Button)
    FirstButton.Style("background-color") = "#990000"
    FirstButton.Style("color") = "#FFFFFF"

    ViewState("Updated") = False

    End If

    'Put user code to initialize the page here
    End Sub
    Sub GetPage(ByVal Src As Object, ByVal Args As CommandEventArgs)

    Dim Keys() As String
    Keys = Split(Args.CommandName, "|")

    DBConnection = New OleDbConnection( _
    "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=d:\db2.mdb")
    DBConnection.Open()
    SQLString = "SELECT * FROM t1 WHERE " & _
    "isbn >= '" & Keys(0) & "' AND " & _
    "isbn <= '" & Keys(1) & "' " & _
    "and name=@name " & _
    "ORDER BY isbnno"
    DBCommand = New OleDbCommand(SQLString, DBConnection)
    DBCommand.Parameters.Add("@name", mb)
    DBReader = DBCommand.ExecuteReader()
    RepeaterDisplay.DataSource = DBReader
    RepeaterDisplay.DataBind()
    DBReader.Close()
    DBConnection.Close()

    '-- Highlight clicked button
    Dim Item As Button
    Dim ThisButton As Button
    For Each Item In PageButtons.Controls
    ThisButton = CType(Item, Button)
    ThisButton.Style("background-color") = "#F0F0F0"
    ThisButton.Style("color") = "#000000"
    Next
    ThisButton = CType(PageButtons.FindControl(Src.id), Button)
    ThisButton.Style("background-color") = "#990000"
    ThisButton.Style("color") = "#FFFFFF"

    End Sub
    nameیک پارامتر ورودی است و isbnno یک شمارنده اتوماتیک است و isbn یک فیلد است

تاپیک های مشابه

  1. صفحه در repeater
    نوشته شده توسط hassan_RK در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 12 دی 1388, 12:33 عصر
  2. paging کردن repeater
    نوشته شده توسط pouyan در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: سه شنبه 08 دی 1388, 12:15 عصر
  3. Repeater
    نوشته شده توسط yavari در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: شنبه 16 اردیبهشت 1385, 20:56 عصر
  4. paging Repeater
    نوشته شده توسط aidinwashere در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: دوشنبه 23 خرداد 1384, 22:37 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •