views:

291

answers:

1

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;
A: 

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\"" + "/>";