前ページ行を含む仮想ページング
仮想ページングにおいて、前のページの任意の行数分のデータを次のページに同時に表示させることもできます。
ページの境目にあるの行を確認できるのでデータが連続していることをユーザーに認識させられます。
例えば、以下のサンプルのように、2ページ目で1ページ目のデータである10と
2ページ目のデータである11を同時に参照することができます。
| A | B | C | D |
1 | 1 | | | |
2 | 2 | | | |
3 | 3 | | | |
4 | 4 | | | |
5 | 5 | | | |
6 | 6 | | | |
7 | 7 | | | |
8 | 8 | | | |
9 | 9 | | | |
10 | 10 | | | |
|
|
ソースコード
別ウィンドウで表示
using System;
using System.Web.UI.WebControls;
public partial class paging_virtualscrollpagingprevrow : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
// SPREAD初期化
InitSpread(FpSpread1, FpSpread1.Sheets[0]);
}
private void InitSpread(FarPoint.Web.Spread.FpSpread spread, FarPoint.Web.Spread.SheetView sheet)
{
int i = 0;
// SPREAD設定
spread.UseClipboard = false;
spread.CssClass = "spreadStyle";
spread.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both;
spread.Pager.Position = FarPoint.Web.Spread.PagerPosition.TopCommandBar;
// フォントサイズの設定
sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%");
sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%");
sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%");
FarPoint.Web.Spread.Model.DefaultSheetDataModel datamodel = (FarPoint.Web.Spread.Model.DefaultSheetDataModel)sheet.DataModel;
datamodel.RowCount = 2000;
for (i = 0; i <= datamodel.RowCount - 1; i++)
{
datamodel.SetValue(i, 0, i + 1);
}
sheet.AllowVirtualScrollPaging = true;
sheet.VirtualScrollPagingPrevRowCount = 5;
sheet.PageSize = 10;
sheet.ScrollingContentVisible = true;
sheet.VirtualScrollPagingFormatString = "ページ:{page} /全ページ: {count}";
}
}
|
Partial Class paging_virtualscrollpagingprevrow
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
' SPREAD初期化
InitSpread(FpSpread1, FpSpread1.Sheets(0))
End Sub
Private Sub InitSpread(ByVal spread As FarPoint.Web.Spread.FpSpread, ByVal sheet As FarPoint.Web.Spread.SheetView)
Dim i As Integer = 0
' SPREAD設定
spread.UseClipboard = False
spread.CssClass = "spreadStyle"
spread.Pager.Mode = FarPoint.Web.Spread.PagerMode.Both
spread.Pager.Position = FarPoint.Web.Spread.PagerPosition.TopCommandBar
' フォントサイズの設定
sheet.DefaultStyle.Font.Size = FontUnit.Parse("80%")
sheet.ColumnHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
sheet.RowHeader.DefaultStyle.Font.Size = FontUnit.Parse("80%")
sheet.SheetCorner.DefaultStyle.Font.Size = FontUnit.Parse("80%")
Dim datamodel As FarPoint.Web.Spread.Model.DefaultSheetDataModel = DirectCast(sheet.DataModel, FarPoint.Web.Spread.Model.DefaultSheetDataModel)
datamodel.RowCount = 2000
For i = 0 To datamodel.RowCount - 1
datamodel.SetValue(i, 0, i + 1)
Next
sheet.AllowVirtualScrollPaging = True
sheet.VirtualScrollPagingPrevRowCount = 5
sheet.PageSize = 10
sheet.ScrollingContentVisible = True
sheet.VirtualScrollPagingFormatString = "ページ:{page} /全ページ: {count}"
End Sub
End Class
|
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="virtualscrollpagingprevrow.aspx.cs" Inherits="paging_virtualscrollpagingprevrow" %>
<%@ Register Assembly="FarPoint.Web.SpreadJ" Namespace="FarPoint.Web.Spread" TagPrefix="FarPoint" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeaderPlaceHolder1" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="#A0A0A0" BorderStyle="Solid"
BorderWidth="1px">
<CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
ButtonShadowColor="ControlDark">
</CommandBar>
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
</asp:Content>
|