как построить представление сетки страниц без источника данных

StackOverflow https://stackoverflow.com/questions/1630243

  •  06-07-2019
  •  | 
  •  

Вопрос

Я хочу задать вопрос о том, как выполнять подкачку в кодировании ASP.net с помощью C #.

я пытаюсь сделать то, что хочу отобразить некоторый контент, иметь несколько столбцов и несколько строк.

в самом кодировании у меня есть список объектов, скажем, объект A

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

и хотите отобразить это на странице с возможностью разбивки по страницам.

Я выполняю поиск в Google, ASP.net предлагает представление сетки и представление списка, но всем им требуется источник данных, а это означает, что таблица напрямую привязана к базе данных.

это не то, что я хочу, потому что мой список объектов A взят откуда-то еще, а не из моей базы данных (например, это составной набор данных, которые генерируются во время выполнения)

так что в любом случае я все еще могу использовать этот полезный компонент, или мне придется делать все это самостоятельно для пейджинга???

спасибо

Это было полезно?

Решение

Свойство DataSource также принимает List<> или BindingList<> .

Чтобы использовать это в коде:

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

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

И, возможно, какая-то логика IsPostback и т. д.

Другие советы

Я советую использовать GridView, с которым вы можете использовать ObjectDataSource, который может брать свои базовые данные из указанного вами метода класса.Таким образом, метод класса может быть (следуя вашему примеру кода):

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

и ваша страница aspx будет содержать

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

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

А TypeName и SelectMethod Атрибуты ObjectDataSource сообщают ему, какой метод и где использовать для заполнения ODS данными.А AllowPaging="True" автоматически обеспечивает пейджинг в GridView.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top