2012-06-23 2 views
0

Используя трехуровневую архитектуру, у меня есть список объектовСписок <T> пейджинговой asp.net

List<object> careerList = new List<object>(); 
      ModuleDTO module = new ModuleDTO(); 
      careerList = module.getDegreeCodeByQualification(qualificationCode); 

, который я затем добавить к GridView следующим образом:

gridViewMaster.DataSource = careerList; 
      gridViewMaster.DataBind(); 

Что я бы как сделать, то включить пейджинг на gridview. Мой GridView до сих пор:

<asp:GridView ID="gridViewMaster" runat="server" 
     AutoGenerateColumns="False" GridLines="None" 
     BorderWidth="1px" CellPadding="2" DataKeyNames="Grouping" 
     ForeColor="Black" 
      onrowdatabound="gridViewMaster_RowDataBound" CssClass="mGrid" PagerStyle-CssClass="pgr" 
AlternatingRowStyle-CssClass="alt" OnPageIndexChanging="gridView_PageIndexChanging" 
       AllowPaging="True" > 

Можно ли сделать включить подкачку на список без необходимости вносить изменения в этот список к Datatable или DataView? Если есть способ, это очень поможет.

До сих пор мои события следующим образом:

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     gridViewMaster.PageIndex = e.NewPageIndex; 
     List<object> careerList = new List<object>(); 
      ModuleDTO module = new ModuleDTO(); 
      careerList = module.getDegreeCodeByQualification(qualificationCode); 
      ModalProgress.Show(); 
      System.Threading.Thread.Sleep(1000); 
      JobPanel.Visible = true; 
      gridViewMaster.DataSource = careerList.Distinct(); 
      gridViewMaster.DataBind(); 
    } 

кто-то пожалуйста, помогите мне !!! Спасибо

+0

http://weblogs.asp.net/jaycentdrysdale/archive/2009/07/13/list-lt-t-gt-paging -via-linq-to-objects.aspx –

ответ

0

У меня есть ваш код, работающий с пейджингом GridView из привязки списка. Сообщение мне, если у вас есть какие-либо другие вопросы, после попытки следующих проверок:

  1. Убедитесь, что этот код возвращает список элементов со свойством под названием «Группировка», потому что у вас есть в нем указано как DataKeyName в вашем GridView как так :

    careerList = module.getDegreeCodeByQualification (qualificationCode);

  2. Мой GridView код выглядит следующим образом:

    <asp:GridView ID="GridView1" runat="server" GridLines="None" BorderWidth="1px" CellPadding="2" DataKeyNames="Grouping" 
        ForeColor="Black" AllowPaging="True" 
        onpageindexchanging="GridView1_PageIndexChanging" AutoGenerateColumns="true" PageSize="2"> 
    </asp:GridView> 
    

... обратите внимание на новый "PAGESIZE" и "AutoGenerateColumns" атрибуты, которые я добавил.

Надеюсь, что это поможет.

+0

Спасибо! Я больше не получаю ошибок компилятора. Моя единственная проблема теперь, когда я меняю свой индекс, он меняет фактический индекс, но он не обновляет мой gridview. Я думаю, это потому, что я перезагружаю данные с нуля, а не из следующего индекса. Что бы вы мне посоветовали? Опять же, БОЛЬШОЕ спасибо! – user1397978

0

Я исправил его! Почувствуйте себя идиотом, но я привязывался к неправильному gridview, но ваш ответ помог отлично! Огромное спасибо.

Вот что я сделал, для кого-то с той же проблемой:

<asp:GridView ID="GridQualifications" runat="server" 
    CssClass="mGrid" PagerStyle-CssClass="pgr" 
AlternatingRowStyle-CssClass="alt" AutoGenerateColumns="false" 
    onselectedindexchanged="GridQualifications_SelectedIndexChanged" 
    AllowPaging="True" PageSize="2" OnPageIndexChanging="gridView_PageIndexChanging"> 
<AlternatingRowStyle CssClass="alt" /> 

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
    { 
     GridQualifications.PageIndex = e.NewPageIndex; 
     BindData(); 
    } 

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

Большое спасибо за все стресса вы только с облегчением: D: D

+0

Ницца :). Я нахожу, что, пройдя через код, терпеливо используя инструменты отладки Visual Studio, вы получите ответы 9 раз из 10. – fuzzyanalysis

Смежные вопросы