Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Ottavio
    Registrato dal
    Jul 2000
    Messaggi
    286

    Modifica di datagrid paginata

    Ho una datagrid Paginata :

    <ASPATAGRID id="MyDataGrid2" runat="server" BorderWidth="1px" BorderStyle="None" OnItemCreated="DataGrid_ItemCreated" OnDeleteCommand="DataGrid_Delete" DataKeyField="IDFornitore" AutoGenerateColumns="False" OnUpdateCommand="DataGrid_Update" OnCancelCommand="DataGrid_Cancel" OnEditCommand="DataGrid_Edit" AlternatingItemStyle-BackColor="#aaaadd" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellPadding="4" BorderColor="#CC9966" BackColor="White" Width="100%" Font-Names="Verdana" AllowSorting="True" AllowPaging="True" AllowCustomPaging="True" PageSize="15" OnPageIndexChanged="SaltaPagina">
    <PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC" Mode="NextPrev" Position="bottom" NextPageText="Successivo" PrevPageText="Precedente"></PagerStyle>
    <SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
    <ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
    <FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
    <Columns>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Registra&lt;br&gt;" CancelText="Annulla" EditText="Modifica"></asp:EditCommandColumn>
    <asp:ButtonColumn Text="Elimina" CommandName="Delete"></asp:ButtonColumn>
    <asp:BoundColumn DataField="RagioneSociale" HeaderText="Ragione Sociale"></asp:BoundColumn>
    <asp:BoundColumn DataField="Indirizzo" HeaderText="Indirizzo"></asp:BoundColumn>
    <asp:BoundColumn DataField="Telefono" HeaderText="Telefono"></asp:BoundColumn>
    <asp:BoundColumn DataField="Referente" HeaderText="Referente"></asp:BoundColumn>
    </Columns>
    </ASPATAGRID>


    caricata da

    sub BindData()
    Dim DS As DataSet
    Dim MyConnection as OleDbConnection
    Dim MyCommand As OleDbDataAdapter
    dim quanti as integer

    MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+server.mappath("Copia di CicloPassivo.mdb"))

    myConnection.Open()
    ' if MyDataGrid2.VirtualItemCount =0 then
    Dim myCommand2 As New OleDbCommand("select count(*) from Fornitore", myConnection)
    quanti=mycommand2.executeScalar()
    MyDataGrid2.VirtualItemCount = quanti
    'else
    ' quanti=MyDataGrid2.VirtualItemCount
    ' end if

    MyCommand = New OleDbDataAdapter("Select * from Fornitore order by RagioneSociale", MyConnection)

    DS = new DataSet()
    MyCommand.Fill(ds,(start_index*15),15, "Fornitore")
    dim source as dataview=ds.Tables("Fornitore").DefaultView
    MyDataGrid2.DataSource=source
    MyDataGrid2.DataBind()
    MyConnection.close()

    lblMessage.Text = "Pagina " & MyDataGrid2.CurrentPageIndex+1 & _
    " di " & MyDataGrid2.PageCount & _
    ". Record presenti=" & quanti
    End Sub

    il problema è che quando vado in modifica tramite

    Public Sub DataGrid_Edit(Source As Object, _
    E As DataGridCommandEventArgs)
    dim i as integer
    MyDataGrid2.EditItemIndex = E.Item.ItemIndex
    BindData()


    End Sub


    mi edita l'elemento i-esimo della prima pag....

    Qualche idea ??!?!?!



  2. #2
    Utente di HTML.it L'avatar di Ottavio
    Registrato dal
    Jul 2000
    Messaggi
    286
    Mi rispondo da solo
    il problema sembra riguardare l'attributo
    AllowCustomPaging ...
    tenendolo a True nn sono riuscito a risolvere,
    mentre con valore False e il seguente binddata:

    sub BindData()
    Dim DS As DataSet
    Dim MyConnection as OleDbConnection
    Dim MyCommand As OleDbDataAdapter
    dim quanti as integer

    MyConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+server.mappath("Copia di CicloPassivo.mdb"))

    MyConnection.Open()

    MyCommand = New OleDbDataAdapter("SELECT * FROM Fornitore ORDER BY RagioneSociale", MyConnection)

    DS = new DataSet()

    MyCommand.Fill(ds, "Fornitore")

    quanti=ds.Tables("Fornitore").Rows.Count.ToString( )

    dim source as dataview=ds.Tables("Fornitore").DefaultView
    MyDataGrid2.DataSource=source
    MyDataGrid2.DataBind()
    MyConnection.close()
    lblMessage.Text = "Pagina " & MyDataGrid2.CurrentPageIndex+1 & _
    " di " & MyDataGrid2.PageCount & _
    ". Record presenti=" & quanti
    End Sub


    funzia tutto ...
    è evidente che sono 2 cose diverse....
    cosi sono costretto a caricare sempre tutti
    o record della tabella e nn solo quelli che mi servono
    di volta in volta ...
    quindi il caso è ancora aperto ....


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.