Вы можете использовать Iterators.flatten
, чтобы сгладить ваш Вектор Векторов.
collect.(Iterators.flatten.(anas5))
Подкачка страниц контроля с ASP.NET MVC, PageList наносит ответный удар, и создайте страницу помощник HTML
Если Вы составляете таблицу данных из данных JSON, я настоятельно рекомендую YUI (Yahoo Библиотека UI) компонент DataTable (http://developer.yahoo.com/yui/datatable/). Это делает подкачку страниц очень хорошо, и у Вас есть опция возврата целого официального набора документов для запуска с и затем пролистывание что все клиентские или возвращающиеся разбитый на страницы набор с сервера.
Вероятно, не будет соответствовать Вашему сценарию, но просто думал, что я упомяну это.
У меня есть сетка подкачки страниц в моих Динамических Данных для примера приложения MVC, но сетка является представленной рукой. Данные используют PagedList, который приехал от Rob Conery (кто в свою очередь я думаю, получил его от ScottGu).
Я думал о том, на что помощник разбитой на страницы сетки мог бы быть похожим для MVC...
Что я сделал для подкачки страниц, до сих пор, создают управление Пейджером, Она берет URL подкачки страниц, идентификатор элемента HTML для обновления, номера страницы, размера страницы и общего количества.
URL подкачки страниц имеет контроллер/действие формы, куда действие возвращает строку HTML (представленная страница данных)
Пейджер добавляет список ссылок JavaScript для страниц. Эти ссылки называют jQuery базирующейся функцией ajax, которая поражает URL подкачки страниц. Каждый щелчок страницы заменяет текущее содержание элемента HTML с результатами вызова ajax. Что-то вроде этого:
public string Render()
{
var buffer = new StringBuilder( 1000 );
buffer.AppendLine( @"<ul class=""datatable_pager"">" )
.AppendLine( "\t<li>Additional Pages:</li>" );
int numberOfPages = TotalItemCount % PageSize == 0 ? TotalItemCount / PageSize : TotalItemCount / PageSize + 1;
for( int i = 0; i < numberOfPages; i++ )
{
AppendPageLink( buffer, i );
}
buffer.AppendLine( "\t</ul>" );
AppendPagingJS( buffer );
return buffer.ToString( );
}
private void AppendPageLink( StringBuilder buffer, int i )
{
buffer.Append( "\t\t<li><a href=\"" )
.Append( PagingLink.Replace( "$PAGE$", i.ToString( ) ) )
.Append( "\">" )
.Append( i.ToString( ) )
.Append( "</a>" )
.AppendLine( "\t\t</li>" );
}
private void AppendPagingJS( StringBuilder buffer )
{
buffer.AppendLine( @"
<script type=""text/javascript"">
function page( page, size, updateElement )
{
$.post( '" + PagingUrl + @"',
{
pageNumber: page,
pageSize: size,
},
function(response)
{
$(""#"" + updateElement).html(response);
},
""html""
);
}
</script>" );
}
JavaScript отправляет на URL подкачки страниц, таким образом, действие должно будет затем сделать что-то как:
интервал. TryParse (Запрос. Params["pageNumber"], страница) интервал. TryParse (Запрос. Params ["размер страницы"], размер))
и используйте результаты со своими компонентами доступа к данным, чтобы захватить страницу данных, представить ее как HTML и возвратить ее.
Надежда, которая помогает, я могу подробно остановиться на нем в случае необходимости.