11.886 messaggi dal 09 febbraio 2002
Contributi

se fanno una ricerca nella casella di jquery devono trovare il contatto che cercano.

Ok, questo però non è un motivo sufficiente per visualizzare tutti i contatti nella pagina. La ricerca deve avvenire lato server, non lato client.

Quando un utente cerca qualcosa, deve partire una nuova richiesta ajax per il server che restituirà solo la prima pagina di risultati corrispondenti al testo cercato.

L'articolo che ti ho linkato prevede anche la ricerca lato server, quindi segui quello.

ciao,
Moreno
Modificato da BrightSoul il 02 settembre 2019 16:26 -

Enjoy learning and just keep making
27 messaggi dal 28 agosto 2019
Ho provato a dare un occhio a quel link ma per il mio caso ho oggetti e propietà complessi su più tabelle di database quindi fare come nel link diventa un pò incasinato.

Quindi potrei caricare solo pochi record e quando uso la casella di ricerca (quella integrata nella datatable) faccio la richiesta lato server.
Però per modificare quella ricerca come si fa? Fa tutto il componente datatable
Modificato da FiliBen il 02 settembre 2019 16:29 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

Però per modificare quella ricerca come si fa

in che senso "modificare"?
Quando l'utente interagisce, DataTables invia una richiesta ajax contenente varie informazioni, tipo il testo cercato, la colonna su cui deve essere fatto l'ordinamento e la pagina selezionata.
A questo punto sarà il server a determinare quali risultati devono essere restituiti.


fare come nel link diventa un pò incasinato.

La questione certamente non è semplice, non so in che altro modo aiutarti.
Ho trovato un altro articolo specifico per ASP.NET Core, vedi se questo ti risulta più facile.

https://www.c-sharpcorner.com/article/jquery-datatables-with-asp-net-core-server-side-dynamic-multiple-column-searchin/

ciao,
Moreno

Enjoy learning and just keep making
11.886 messaggi dal 09 febbraio 2002
Contributi
Di nulla, ma prova lo stesso a fare un tentativo.


per il mio caso ho oggetti e propietà complessi su più tabelle di database quindi fare come nel link diventa un pò incasinato.

Crea una view nel database, così nasconderai la complessità della query. Vedrai che così si semplificherà di molto e riuscirai a ricondurre il tuo caso a quello mostrato negli esempi.

Tu usi ADO.NET o Entity Framework Core per accedere al database?

Enjoy learning and just keep making
27 messaggi dal 28 agosto 2019
Si creerò delle viste.
Comunque io uso ADO.NET perchè Entity Framework Core nelle prime versioni non era completo ( gli mancavano molteplici funzionalità come la migrazione ecc) quindi per adesso ho scelto le query.
Sono ancora all'inzio comunque.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ho preparato una demo completa che usa ASP.NET Core, DataTables e ADO.NET, la trovi qui:
https://github.com/BrightSoul/AspNetCore-DataTables-Demo
Lì ho messo tutte le istruzioni, sia sul come usarla che su come è progettata.

Una volta messo in piedi il meccanismo di ricezione dati e composizione della query, diventa semplice perché lo puoi riutilizzare per tutte le tabelle e viste che hai nel database. Per ogni DataTable bisogna giusto indicare quali colonne vuoi mostrare e se sono filtrabili e ordinabili. La configurazione delle colonne le fai dal file appsettings.json e perciò se vuoi apportare modifiche non devi neanche ricompilare l'applicazione.

Il codice è molto pulito perché tutta la logica di composizione della query SQL è centralizzata in un componente e quindi i tuoi controller restano quasi del tutto privi di codice.

Nella demo io non ho usato un webservice ma volendo farlo si tratta semplicemente di passargli le chiavi querystring che ricevi da DataTables e poi leggere indietro i risultati. L'applicazione ASP.NET Core a quel punto diventa semplicemente un passacarte.

ciao,
Moreno
Modificato da BrightSoul il 03 settembre 2019 22:58 -

Enjoy learning and just keep making
27 messaggi dal 28 agosto 2019
Ti ringranzio per la tua disponibilità, stasera ci dò un occhio e ti faccio sapere.

Ciao,
Filippo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.