Pergunta

eu quero fazer uma pergunta sobre como fazer paginação no ASP.net codificação com C #.

A coisa que eu tento fazer é que, eu quero mostrar algum conteúdo, tem vários coluna e multi linhas.

na verdade, a codificação, eu tenho uma lista de objeto, vamos dizer Objeto A

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

e quer mostrar este até a página com a funcionalidade pagable.

i do Google Search, ASP.net oferta gridview e listview, mas todos eles exigem uma fonte de dados, o que significa que a tabela diretamente ligam ao banco de dados.

não é isso que eu quero, coz minha lista de objeto Uma vir de algum outro lugar, não do meu banco de dados (por exemplo, é um conjunto composto de dados, que geram em tempo de execução)

por isso há de qualquer maneira eu ainda pode usar os componentes benifit, ou eu tenho que fazer tudo em meu próprio para a paginação ???

thx

Foi útil?

Solução

A DataSource propriedade também aceitará um List<> ou BindingList<>.

Para usar isso no código:

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

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

E talvez alguma lógica IsPostback etc.

Outras dicas

O meu conselho é usar um GridView, com o qual você pode usar um ObjectDataSource, o que pode levar seus dados subjacentes a partir de um método de classe que você especificar. Assim, o método de classe pode ser (a seguir o seu exemplo de código):

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

e sua página aspx conteria

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

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

Os TypeName e SelectMethod atributos do ObjectDataSource dizer que o método, e onde, para usar para preencher as ODS com dados. O AllowPaging="True" dá-lhe de paginação no GridView automaticamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top