2013-09-23 2 views
0

Я следую пример приводится здесь: http://msdn.microsoft.com/en-us/library/bb497936.aspxGridView пользовательских подкачки и не сортировать не ObjectDataSource

Верхняя половина показывает хранимую процедуру, которая может быть использована для возврата только записи, необходимые, например, если у меня есть 100 записи и хотите отображать только 10 на страницу. Я могу использовать proc, чтобы сообщить ему максимальное количество строк, которые я хочу, и начало pageIndex. Есть ли способ сделать то же самое без ObjectDataSource, поэтому используйте пользовательский уровень DataAccess? Я могу вернуть 10 записей, которые мне нужны, но я не получаю пейджинг тогда, когда GridView видит только 10, возвращающихся из proc, есть ли способ сказать, что у меня есть 100, но я только показываю эти 10 ?

ответ

0

Что касается вашего DAL, если хранимая процедура возвращает 10 записей, то это все, что будет знать ваш DAL. Ваш DAL не будет знать, сколько записей находится в базовых данных, если вы не сообщите об этом.

Если вы хотите, чтобы хранимая процедура возвращалась, скажем, 10 из 100 строк, и вы хотите, чтобы DAL знал, что всего было 100 строк, тогда вам нужно передать это значение отдельно - возможно, в выходной переменной?

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

Звучит так, как будто вы могли бы лучше сконструировать решение, но нам нужно будет лучше понять ваши требования и то, что вы пытаетесь достичь, прежде чем предоставлять конкретные рекомендации по архитектуре.

+0

Эта статья может помочь: http://www.dotnetcurry.com/ShowArticle.aspx?ID=267 –

Смежные вопросы