数式エクステンダ
数式エクステンダ(FormulaExtender)を使用すると、FpSpreadコントロールの値を計算して、テキストボックスなど他のコントロールに計算結果を表示できます。
このサンプルではシート上の値を合計して、ページ下部に設置したテキストボックスに表示します。シートを編集して合計を再計算する場合は、SPREADの更新ボタンをクリックしてください。
| A | B | C | D | E | F | G |
1 | 1000 | | | | | | |
2 | 1200 | | | | | | |
3 | 2100 | | | | | | |
4 | | | | | | | |
5 | | | | | | | |
6 | | | | | | | |
7 | | | | | | | |
|
|
ソースコード
別ウィンドウで表示
using FarPoint.Web.Chart;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class formulaextender : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
return;
}
// SPREADの設定
InitSpread(FpSpread1);
// シート設定
InitSpreadStyles(FpSpread1.Sheets[0]);
}
private void InitSpread(FarPoint.Web.Spread.FpSpread spread)
{
spread.CssClass = "spreadStyle2";
spread.UseClipboard = false;
}
private void InitSpreadStyles(FarPoint.Web.Spread.SheetView sheet)
{
// 行列の設定
sheet.RowCount = 7;
sheet.ColumnCount = 7;
sheet.PageSize = 25;
// シートのフォントサイズの設定
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%");
// シートの設定
sheet.AllowUserFormulas = true;
sheet.Columns[0].CellType = new FarPoint.Web.Spread.IntegerCellType();
sheet.SetClip(0, 0, 3, 1, "1000\r\n1200\r\n2100");
}
}
|
Imports FarPoint.Web.Chart
Imports System.Collections.Generic
Imports System.Drawing
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Partial Public Class formulaextender
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
If IsPostBack Then
Return
End If
' SPREADの設定
InitSpread(FpSpread1)
' シート設定
InitSpreadStyles(FpSpread1.Sheets(0))
End Sub
Private Sub InitSpread(spread As FarPoint.Web.Spread.FpSpread)
spread.CssClass = "spreadStyle2"
spread.UseClipboard = False
End Sub
Private Sub InitSpreadStyles(sheet As FarPoint.Web.Spread.SheetView)
' 行列の設定
sheet.RowCount = 7
sheet.ColumnCount = 7
sheet.PageSize = 25
' シートのフォントサイズの設定
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%")
' シートの設定
sheet.AllowUserFormulas = True
sheet.Columns(0).CellType = New FarPoint.Web.Spread.IntegerCellType()
sheet.SetClip(0, 0, 3, 1, "1000" & vbCr & vbLf & "1200" & vbCr & vbLf & "2100")
End Sub
End Class
|
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="formulaextender.aspx.cs" Inherits="formulaextender" %>
<%@ 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" Height="250px" TabIndex="2" HorizontalScrollBarPolicy="Never" VerticalScrollBarPolicy="Never">
<CommandBar BackColor="#F6F6F6" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight" ButtonShadowColor="ControlDark">
</CommandBar>
<Sheets>
<FarPoint:SheetView SheetName="Sheet1">
</FarPoint:SheetView>
</Sheets>
</FarPoint:FpSpread>
<FarPoint:FormulaExtender ID="FormulaExtender1" runat="server">
<FormulaEntries>
<FarPoint:FormulaEntry ControlID="TextBox1" Formula="SUM([FpSpread1]Sheet1!A1:G7)" />
</FormulaEntries>
</FarPoint:FormulaExtender>
<div style ="margin-top:10px">
<table>
<tr>
<td>シート上にあるセルの合計値:</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" Text="TextBox1" Height="35px"></asp:TextBox>
</td>
</tr>
</table>
</div>
</asp:Content>
|