ods_Selected Row Count - PullRequest
       7

ods_Selected Row Count

2 голосов
/ 22 июля 2010

У меня есть следующий бит кода, который дает мне количество строк в сетке, связанных с источником данных объекта.

protected void odsProduct_Selected(object sender, ObjectDataSourceStatusEventArgs e)
        {
            lblHowManyRows.Text = ((List<tblProduct>)e.ReturnValue).Count.ToString();

симпатичный.

Однако, как бы я по сути сделал тот же подсчет, но до того, как источник данных объекта произведет вывод gridview?

Что я пытаюсь сделать, это дать пользователю возможность проверить, сколько строк будет возвращено, прежде чем они фактически создадут сетку (привязанную к источнику данных объекта)

Есть ли что-то, что находится в пределах шансов, или я должен просто написать другое заявление linq и связать это с этим?

Извинения за мое невежество

1 Ответ

0 голосов
/ 06 августа 2010

Ну, у вас может быть событие OnSelecting, например:

protected void OnSelecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        if (lblHowManyRows.Text == string.Empty)
        {
            e.Cancel = true;
            lblHowManyRows.Text = [Linq statement here].Count().ToString();
        }
    }

, где он устанавливает метку на счет в первый раз и получает данные в следующий раз.

В следующий раз lblHowManyRows не будет пустым, поэтому он перейдет к вашему методу odsProduct_Selected:

        protected void odsProduct_Selected(object sender, ObjectDataSourceStatusEventArgs e)
    {
        lblHowManyRows.Text = string.Empty;
    }

Очистите метку, чтобы пользователь мог продолжить выбор. Таким образом, при первом щелчке они получают только счетчик, а при следующем щелчке получают полную сетку.

Если бы это был я, я бы, скорее всего, получил полный счет через AJAX / webservice без обратной передачи или вообще без использования gridview, но я не знаю полного контекста вопроса.

...