Problemi nascosti con l'assenza di JSON e l'uso di Datatables? [chiuso]

0

Attualmente sto lavorando a una soluzione che prevede la visualizzazione di milioni (un centinaio, forse più) di record da un database, ma solo un piccolo sottoinsieme per pagina (forse 20-30 registra una pagina)

  • Il sito è stato creato come applicazione WebForms
  • Database è Intersystems Cache, (per fortuna solo il lato SQL, niente globals)
    • Intersystems Cache viene fornito con un CacheClient.dll, che funziona come System.Data.SQLClient ma per la cache degli intersistemi.
  • Il team ha determinato che utilizziamo JQuery.BootGrid come griglia, poiché è open source e altamente funzionale
  • Voglio che la soluzione segua un buon design, in quanto è un tratto che voglio avere come sviluppatore di software.

Sono in grado di creare il file JSON da C #, tramite JSON.Net. Tuttavia ho problemi a consumare effettivamente il file JSON poiché il formato è diverso:

Formato JSON.net:

[{"NickName":"Bob","LogIN":"6/7/1846 12:00:00 AM","LogOUT":"6/7/1846 12:00:00 AM"},{"NickName":"Bob","LogIN":"6/6/1846 12:00:00 AM","LogOUT":"6/6/1846 12:00:00 AM"},{"NickName":"Patrick","LogIN":"6/7/1846 12:00:00 AM","LogOUT":"6/7/1846 12:00:00 AM"},{"NickName":"Ward","LogIN":"6/7/1846 12:00:00 AM","LogOUT":"6/7/1846 12:00:00 AM"},{"NickName":"Ward","LogIN":"6/6/1846 12:00:00 AM","LogOUT":"6/6/1846 12:00:00 AM"},{"NickName":"Ward","LogIN":"6/5/1846 12:00:00 AM","LogOUT":"6/5/1846 12:00:00 AM"},{"NickName":"Krabs","LogIN":"","LogOUT":""},{"NickName":"Sandy","LogIN":"","LogOUT":""},{"NickName":"Pearl","LogIN":"","LogOUT":""}]

jquery-bootgrid JSON formato richiesto:

    {
  "current": 1,
  "rowCount": 5,
  "rows": [
    {
      "id": "a0e3a286-4343-4240-8d6d-e79fa2e94b4c",
      "sender": "[email protected]",
      "received": "2014-04-17 15:08:03Z"
    },
    {
      "id": "dd9f2d42-9442-404c-8d2a-dd3bd2156c03",
      "sender": "[email protected]",
      "received": "2014-04-16 15:19:31Z"
    },
    {
      "id": "e9b8ede5-c1bf-4d90-b724-e7379b25f7b3",
      "sender": "[email protected]",
      "received": "2014-04-16 15:17:05Z"
    },
    {
      "id": "153d3acb-efe7-4b5f-a3a9-e8ac18bdec30",
      "sender": "[email protected]",
      "received": "2014-04-16 15:17:05Z"
    },
    {
      "id": "49bad60a-bbf7-42bf-b040-d901805ccbf1",
      "sender": "[email protected]",
      "received": "2014-04-15 11:23:06Z"
    }
  ],
  "total": 5
}

Ora, ho provato a cercare su Google le soluzioni e le esercitazioni per l'utilizzo di asp.net con jquery-bootgrid e Ho trovato questa soluzione che utilizza il controllo GridView

Dal collegamento, immagino di poter riempire il gridview con datareader o passare un datatable (contenente i risultati CacheSQL) come origine dati e applicare la formattazione menzionata per fare uso di Jquery-BootGrid

tuttavia, questo è applicabile come un buon design? Questa è davvero una cattiva idea e dovrei limitarmi a trovare un modo per consumare il file JSON? Dovremmo ripensare all'utilizzo di Jquery-bootgrid? So che esiste una griglia JQuery alternativa, ma non è gratuita.

    
posta Malky.Kid 09.02.2017 - 03:40
fonte

1 risposta

2

I am currently working on a solution that involves showing millions (a hundred, maybe more) of records from a database

Se questo è veramente cosa intendi, allora ...

Perché ???

Qual è l'Anima Povera seduta di fronte a quello schermo andando a fare con tutti loro? Le linee guida di progettazione dell'interfaccia utente di base raccomandano 5 articoli, più o meno due, come ottimali per gli utenti. "Milioni"? Non pensarci nemmeno.

Spostare un milione di qualsiasi attraverso la rete sarà incredibilmente lento e provare a formattarli tutti nel browser client prenderà un bruto reale di una macchina - che il tuo utente finale potrebbe non avere.

Naturalmente, se ciò che in realtà significa è che hai un database contenente milioni di record e stai visualizzando [piccoli] sottoinsiemi di loro, si prega di ignorare quanto sopra.

    
risposta data 09.02.2017 - 12:11
fonte

Leggi altre domande sui tag