Как прокручивать до выбранного в DataGrid?

Я показываю Datagrid вот так и приглашаю пользователя сделать выбор ...

<div id="gradesDiv" style="overflow: auto; width: 380px; height: 300px">
    
        
             
             
        
    
 </div>

(в кодовом коде добавляются три других столбца). Но когда пользователь делает выбор, выполняется обратная передача и потеряна позиция прокрутки. Я хотел бы иметь возможность сбросить div для отображения выбранного элемента. Кто-нибудь знает как это сделать?

Я попытался добавить

MaintainScrollPositionOnPostback="true"

к asp, но это не помогает. Я попытался сохранить положение прокрутки в коде, но gradesDiv не представляется доступным для кода.

1
добавлено
Просмотры: 2
nl ja de
@deni, спасибо за предложение: я использую .Net 4.0, но он не работает, если я помещаю его в DataGrid или div.
добавлено автор Brian Hooper, источник
Я нашел решение здесь , как только я заметил, что это прокрутка div , а не DataGrid .
добавлено автор Brian Hooper, источник
Поместите datagrid на панель обновления
добавлено автор erichste, источник
Если вы используете .NET 4.0, вы можете попробовать установить параметр gridview EnablePersistedSelection = "true"
добавлено автор Denys Wessels, источник

1 ответы

В Интернете существует немало творческих подходов к тому, как это можно сделать. Просто найдите , поддерживая позицию прокрутки div при обратной передаче . Это всего лишь один из таких примеров:

<script type="text/javascript">
    $(document).ready(function() {
        var xPos, yPos;
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_beginRequest(BeginRequestHandler);
        prm.add_endRequest(EndRequestHandler);

        var divId = 'gradesDiv';

        function BeginRequestHandler(sender, args) {
            xPos = $get(divId).scrollLeft;
            yPos = $get(divId).scrollTop;
        }
        function EndRequestHandler(sender, args) {
            $get(divId).scrollLeft = xPos;
            $get(divId).scrollTop = yPos;
        }
    });
</script>
1
добавлено
Спасибо за ваш ответ, но это не удается с помощью Ошибка выполнения Microsoft JScript: ожидаемый объект
добавлено автор Brian Hooper, источник
насколько я могу судить, проблема $ (document) .ready (function() {).
добавлено автор Brian Hooper, источник
нет, я этого не делал. Вероятно, это причина. Я не смогу попробовать это какое-то время. В очередной раз благодарим за помощь.
добавлено автор Brian Hooper, источник
Не могли бы вы указать, в какой строке это ошибка?
добавлено автор Denys Wessels, источник
Добавили ли вы ссылку на библиотеку jQuery в разделе <head>?
добавлено автор Denys Wessels, источник