DataGrid & Paging
От: magone  
Дата: 13.04.05 11:49
Оценка:
Привет всем!
Кто-нибудь пытался настроить paging при условии что ViewState отключен и DataGrid заполняется из датасет, который в свою очередь сохраняется в перменной сессии?
Т.е. примерно так:

private void Page_Load(object sender, System.EventArgs e)
{
if (Page.Session["MyDataSet"]==null)
            {
                
                Page.Session["MyDataSet"]=CreatePage(); //Возвращает датасет
            }
.....
}

Короче настраивал и CustomPaging и без него, проблема одна и таже,
пока шагаю по страницам вперед все работает нормально, пытаюсь назад завал!
К примеру у меня 4 страницы.
нахожусь на 3 нажимаю на вторую и врезультате оказываюсь на первой!
Причем

private void UserDataGrid_PageIndexChanged

не отрабатывает! Такое ощущение что страница грузиться из кэша!
если начинаю идти вперед то все ок.
Может кэш отключить? Не напомните директиву или как это делается?
Спасибо.
RE: DataGrid & Paging
От: Аноним  
Дата: 13.04.05 15:21
Оценка:
Хм... а как это он у тебя при отлюченном ViewState вперед шагает то?
Раб, который обожает своего хозяина, уже не раб, а холуй.
В.И. Ульянов.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
DataGrid & Paging
От: Аноним  
Дата: 13.04.05 15:56
Оценка:
покажите весь код.

Все должно быть просто, очень просто, настолько просто — насколько это возможно!


данное сообщение получено с
www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: DataGrid & Paging
От: magone  
Дата: 14.04.05 09:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хм... а как это он у тебя при отлюченном ViewState вперед шагает то?[img]


Шагает только в путь


    private void Page_Load(object sender, System.EventArgs e)
    {
            DataSet ddd=null;
                
         if(!IsPostBack)
    
         {
        ddd=CreatePage();
        Page.Session["MyDataSet"]=ddd;
        this.UserDataGrid.DataSource=ddd;

         }
    else
    {    
        if (Page.Session["MyDataSet"]==null)  //На всякий случай проверим там ли он
        {
        Page.Session["MyDataSet"]=CreatePage();
        }
                
               this.UserDataGrid.DataSource=(DataSet)Page.Session["MyDataSet"];
               this.UserDataGrid.DataBind();
         }

         private void UserDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{

                        this.UserDataGrid.CurrentPageIndex=e.NewPageIndex;
                        this.UserDataGrid.DataSource=(DataSet)Page.Session["MyDataSet"];
            this.UserDataGrid.DataBind();


Все устраивает, вот только назад шагать не получается!
Сразу скидывает на первую страницу в которой билиберда полная.
Еще момент, у меня датагрид содержит TextBox, в которых после скидывания на первую страницу содержаться данные с последней страницы.

И второй вопрос:
При сохранении датасета в переменной в сессии или при сохранении его в кэше, мы не уменьшаем трафик, так как и кеш и сессия будут храниться в памяти на сервере?

Спасибо.
P.S.
Я привел пример при AllowCustomPaging=false
при AllowCustomPaging=true
код усложняется но ситуация абсолютно такая же, несмотря на что в DataSource грида, я вставляю таблицу в которую занесены строки для данной CurrentPage, почему то при переходе назад не отрабатывает PageIndexChanged.
Re[3]: DataGrid & Paging
От: magone  
Дата: 14.04.05 13:20
Оценка:
up
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.