Domanda

Voglio fare una domanda su come eseguire il paging nella codifica ASP.net con C #.

la cosa che cerco di fare è che, voglio visualizzare alcuni contenuti, avere più colonne e più righe.

nella codifica attuale, ho un elenco di oggetti, diciamo Oggetto A

class A {
   integer id;
   string name;
   string desc;
}

e vuoi visualizzarlo sulla pagina con funzionalità di paging.

Faccio ricerca su Google, ASP.net offre gridview e listview, ma richiedono tutti un'origine dati, il che significa che la tabella si collega direttamente al database.

non è quello che voglio, perché la mia lista di oggetti A proviene da qualche altra parte, non dal mio database (ad esempio è un insieme composito di dati, che generano in runtime)

quindi lì posso comunque usare quei componenti benifit, o devo fare tutto da solo per il paging ???

thx

È stato utile?

Soluzione

Una proprietà DataSource accetterà anche un List<> o BindingList<>.

Per usare questo nel codice:

protected void Page_Load(object sender, EventArgs e)
{
    var data = new List<Sample>();
    data.Add (...);

    GridView1.DataSource = data;
    GridView1.DataBind();
}

E forse un po 'di logica IsPostback ecc.

Altri suggerimenti

Il mio consiglio è di utilizzare un GridView, con il quale è possibile utilizzare un ObjectDataSource, che può prendere i dati sottostanti da un metodo di classe specificato. Quindi il metodo class potrebbe essere (seguendo il tuo esempio di codice):

public static List<A> GetAllAs()
{
    return myAs;
}

e la tua pagina aspx conterrebbe

<asp:ObjectDataSource ID="MyODS" runat="server" TypeName="Namespace.Classname" SelectMethod="GetAllAs" />

<asp:GridView ID="grdMyGridView" runat="server" DataSourceID="MyODS" AllowPaging="True" ... >

Gli attributi TypeName e SelectMethod di ObjectDataSource indicano quale metodo e dove utilizzare per riempire i dati ODS. AllowPaging="True" fornisce automaticamente il paging su GridView.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top