Как создать пользовательский пейджинг на ретрансляторе с помощью SQLDataSource?

При просмотре переполнения стека участник предложил это учебник . Мне кажется, что это может действительно работать, но это неполный.

в нижней части своего кода он использует

private Control FindControlRecursive(Control root, string id) { }

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

private Control FindControlRecursive(Control root, string id) 
    {
        if (rootControl.ID == controlID) return rootControl;

        foreach (Control controlToSearch in rootControl.Controls)
        {
            Control controlToReturn =
                FindControlRecursive(controlToSearch, controlID);
            if (controlToReturn != null) return controlToReturn;
        }
        return null;
    }

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


person Skullomania    schedule 05.07.2013    source источник


Ответы (1)


Я пытался работать с этим руководством несколько месяцев назад и обнаружил, что оно слишком хрупкое для того, что мне нужно. В конце концов я обнаружил эту статью Джулии Лерман, и с тех пор она мне хорошо послужила. .

Одна из замечательных особенностей пейджинга заключается в том, что его относительно просто реализовать, если вы понимаете переменные, которые вам нужно отслеживать. В статье Джули используется структура сущностей, но концепции, которые она обсуждает, почти идентичны тем, которые вам необходимо понимать при реализации этой функции с помощью SQLDataSource.

Короче говоря, вам нужно отслеживать только две вещи: сколько записей вы хотите отображать на странице, на какой странице вы находитесь, и необязательную третью переменную — сортировку ваших данных. Как только вы это сделаете, вы окажетесь в двух шагах от полнофункционального ретранслятора с пейджинговой связью. :)

Изменить. Если использование Джули структуры сущностей слишком абстрактно для вашей ситуации, вы можете обратиться к эта статья, которая больше похожа на вашу конкретную реализацию.

person Daniel Szabo    schedule 05.07.2013