ciao a tutti dovrei paginare un datagrid ovvero seleziono * dalla tabella autori che contiene ua 50ina di record e vorrei che questi apparissero nel datagrid 10 per volta ....come fare?
ciao a tutti dovrei paginare un datagrid ovvero seleziono * dalla tabella autori che contiene ua 50ina di record e vorrei che questi apparissero nel datagrid 10 per volta ....come fare?
se usi il datagrid potresti usare la paginazione![]()
![]()
nel tag datagrid aggiungi gli attributi
AllowPaging = "True"
PageSize = "10"
visualizzo le prime 10 e per andare avanti dalla 11 alla 20?
sotto non compaiono i numeri?
prova ad inserire anke
PagerStyle-Mode="NumericPages"
OnPageIndexChanged="cambiap"
ovviamente x cambiare pagina devi utilizzare la sub cambiap
Sub cambiap(s As Object, e As DataGridPageChangedEventArgs)
mioDG.CurrentPageIndex = e.NewPageIndex
BindDG() 'dove BindDG è la funzione ke fa il databind..
End Sub
HO DICHIARATO IL SEGUENTE DATAGRID NELCODICE HTML:
<asp:datagrid id="DataGrid1" style="Z-INDEX: 111; LEFT: 328px; POSITION: absolute; TOP: 408px" runat="server" Width="56px" Height="24px" AllowCustomPaging="True" AllowPaging="True" PageSize="10"PagerStyle-="NumericPages"></asp:datagrid>
POI NEL FILE ASPX.VB LA SEGUENTE FUNZIONE DOPO AVER DICHIARATO C
Dim c As DataGridPageChangedEventArgs
Private Sub DataGrid1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.SelectedIndexChanged
Linkbutton1.Text = ""
Linkbutton1.Text = DataGrid1.CurrentPageIndex
Linkbutton1.Text = c.NewPageIndex
DataGrid1.CurrentPageIndex = c.NewPageIndex
DataGrid1.DataBind()
End Sub
End Class
IL PROLEMA è CHE NN ESEGUE LA FUNZIONE DataGrid1_SelectedIndexChanged
CHE NN SO SE è FATA BENE O MALE
la funzione che uso per accedere al database è:
Sub selezionaPerDATAGRID(ByVal strSQLsub As String, ByVal dg As DataGrid)
objConn.Open()
Dim objCommand As New OleDbCommand(strSQLsub, objConn)
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConn ection)
dg.DataSource = objDataReader
dg.DataBind()
objConn.Close()
End Sub
ciao a tutti grazie a sms e altri sono riuscito a produrre cio:
1 dichiaro un datagrid nella 'parte html'
<aspataGrid id="dgrid" style="Z-INDEX: 101; LEFT: 216px; POSITION: absolute; TOP: 144px" runat="server"
Width="75%" AllowPaging="True" AllowCustomPaging=True PagerStyle-Mode=NextPrev OnPageIndexChanged="Dgrid_PageIndexChanged" PageSize="15"
Height="80px"></aspataGrid>
2 mentre nel file aspx.vb :
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dgrid.VirtualItemCount = 30
Dim oConn As OleDbConnection
Dim oCmd As OleDbCommand
Dim oDR As OleDbDataReader
oConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & _
"user ID=Admin;" & _
"Data Source=C:\Inetpub\wwwroot\sito3\binosito.mdb")
oConn.Open()
oCmd = New OleDbCommand
With oCmd
.connection = oConn
.commandType = CommandType.Text
.CommandText = "SELECT * from sentenze"
oDR = .ExecuteReader()
End With
dgrid.DataSource = oDR
dgrid.DataBind()
End Sub
Sub Dgrid_PageIndexChanged(ByVal obj As Object, ByVal e As
DataGridPageChangedEventArgs)
dgrid.CurrentPageIndex = e.NewPageIndex
dgrid.DataBind()
End Sub
ma tutto cio mi permette di visualizzare 1 primi 15 recordi ,poi i secondi 15 ma mai i terzi 15 e nn mi fa ritornare ai primi 15
non capiscoma tutto cio mi permette di visualizzare 1 primi 15 recordi ,poi i secondi 15 ma mai i terzi 15 e nn mi fa ritornare ai primi 15VVoVe:
VVoVe: cioè non ti appare il link x tornare ai primi 15?
IL link c'è ma dopo il primo click(e va ai secondi 15 record) nn funziona piu' ovvero qualsiasi cosa gli dico lui resta ai secondi 15 record