sharepointpaginationbdc

Custom BusinessDataListWebPart Pagination (Next Button) - pageindex never changes


Pagination (Next button) doesn't work for custom BusinessDataListWebPart.

I am adding BusinessDataListWebPart using code. Everything works fine. I can see 20 data raw at the same time but when I click "Next Button", I can not see next 20-40 data. A postback occurs, but the pageindex never changes. I am using following code to add BusinessDataListWebPart to the Sharepoint site.

BusinessDataListWebPart consumer = new BusinessDataListWebPart();
    consumer.Title = title;
    consumer.Application = instance.Name;
    consumer.Entity = projEntity.Name;

    consumer.XslLink = "/Style%20Library/XSL%20Style%20Sheets/" + xslFileName;
    consumer.PageSize = 20;

Solution

  • OK..I found the answer.

    For pagination I needed to add "ParameterBindings" to the business data list webpart. My final code is, It works perfect.

    BusinessDataListWebPart consumer = new BusinessDataListWebPart();
    ServerContext serverContext = ServerContext.GetContext(site);
                SqlSessionProvider.Instance().SetSharedResourceProviderToUse(serverContext);
                LobSystemInstance instance = ApplicationRegistry.GetLobSystemInstanceByName(applicationName); 
                Entity projEntity = instance.GetEntities()[entityName];
    
                consumer.Title = title;
                consumer.Application = instance.Name;
                consumer.Entity = projEntity.Name;
    
                consumer.XslLink = "/Style%20Library/XSL%20Style%20Sheets/" + xslFileName;
                consumer.PageSize = 20;
    
                consumer.ParameterBindings = "<ParameterBinding Name=" + "\"dvt_firstrow\"" + " Location=" + "\"Postback;Connection\"" + "/>" +
                       " <ParameterBinding Name=" + "\"dvt_sortdir\"" + " Location=" + "\"Postback;Connection\"" + "/>" +
                       " <ParameterBinding Name=" + "\"dvt_sortfield\"" + " Location=" + "\"Postback;Connection\"" + "/>" +
                       " <ParameterBinding Name=" + "\"dvt_filterfields\"" + " Location=" + "\"Postback;Connection\"" + "/>" +
                " <ParameterBinding Name=" + "\"dvt_partguid\"" + " Location=" + "\"Postback;Connection\"" + "/>";