private void Form1_Load(object sender, System.EventArgs e)
{
//データセットを手動で作成します
DataTable DT = new DataTable();
DataSet DS = new DataSet();
DT = DS.Tables.Add("SampleTable");
DT.Columns.AddRange(new DataColumn[] {
new DataColumn("Num1", Type.GetType("System.Int32")),
new DataColumn("Num2", Type.GetType("System.Int32")),
new DataColumn("Num3", Type.GetType("System.Int32"))
});
DT.Rows.Add(new object[] {10, 100, 1000});
DT.Rows.Add(new object[] {20, 200, 2000});
DT.Rows.Add(new object[] {30, 300, 3000});
DT.Rows.Add(new object[] {40, 400, 4000});
DT.Rows.Add(new object[] {50, 500, 5000});
//データセットを接続します
fpSpread1.DataSource = DS;
//列を追加します(列は非連結となります)
fpSpread1.ActiveSheet.AddColumns(2, 1);
fpSpread1.ActiveSheet.AddColumns(fpSpread1.ActiveSheet.ColumnCount, 1);
//小計を表示します
fpSpread1.ActiveSheet.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
fpSpread1.ActiveSheet.SetColumnLabel(0, 2, "小計");
fpSpread1.ActiveSheet.Columns[2].Formula = "SUBTOTAL(9,RC[-2]:RC[-1])";
fpSpread1.ActiveSheet.Columns[2].BackColor = Color.LightCyan;
fpSpread1.ActiveSheet.ColumnHeader.Cells[0, 2].BackColor = Color.LightCyan;
fpSpread1.ActiveSheet.SetColumnWidth(2, 40);
//合計を表示します
fpSpread1.ActiveSheet.SetColumnLabel(0, fpSpread1.ActiveSheet.ColumnCount - 1, "合計");
fpSpread1.ActiveSheet.Columns[fpSpread1.ActiveSheet.ColumnCount - 1].Formula = "SUBTOTAL(9,RC[-4]:RC[-1])";
fpSpread1.ActiveSheet.Columns[fpSpread1.ActiveSheet.ColumnCount - 1].BackColor = Color.LightPink;
fpSpread1.ActiveSheet.ColumnHeader.Cells[0, fpSpread1.ActiveSheet.ColumnCount - 1].BackColor = Color.LightPink;
fpSpread1.ActiveSheet.SetColumnWidth(fpSpread1.ActiveSheet.ColumnCount - 1, 40);
//連結状態を取得します
for (int i = 0; i < fpSpread1.ActiveSheet.ColumnCount; i++)
{
if (fpSpread1.ActiveSheet.IsColumnBound(i) == true)
{
Console.WriteLine("列:" + fpSpread1.ActiveSheet.Columns[i].Label + "は連結されています");
}
else
{
Console.WriteLine("列:" + fpSpread1.ActiveSheet.Columns[i].Label + "は連結されていません");
}
}
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'データセットを作成します
Dim DT As New DataTable
Dim DS As New DataSet
DT = DS.Tables.Add("SampleTable")
DT.Columns.AddRange(New DataColumn() { _
New DataColumn("Num1", Type.GetType("System.Int32")), _
New DataColumn("Num2", Type.GetType("System.Int32")), _
New DataColumn("Num3", Type.GetType("System.Int32")) _
})
DT.Rows.Add(New Object() {10, 100, 1000})
DT.Rows.Add(New Object() {20, 200, 2000})
DT.Rows.Add(New Object() {30, 300, 3000})
DT.Rows.Add(New Object() {40, 400, 4000})
DT.Rows.Add(New Object() {50, 500, 5000})
'データセットを接続します
FpSpread1.DataSource = DS
'列を追加します(列は非連結となります)
FpSpread1.ActiveSheet.AddColumns(2, 1)
FpSpread1.ActiveSheet.AddColumns(FpSpread1.ActiveSheet.ColumnCount, 1)
'小計を表示します
FpSpread1.ActiveSheet.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
FpSpread1.ActiveSheet.SetColumnLabel(0, 2, "小計")
FpSpread1.ActiveSheet.Columns(2).Formula = "SUBTOTAL(9,RC[-2]:RC[-1])"
FpSpread1.ActiveSheet.Columns(2).BackColor = Color.LightCyan
FpSpread1.ActiveSheet.ColumnHeader.Cells(0, 2).BackColor = Color.LightCyan
FpSpread1.ActiveSheet.SetColumnWidth(2, 40)
'合計を表示します
FpSpread1.ActiveSheet.SetColumnLabel(0, FpSpread1.ActiveSheet.ColumnCount - 1, "合計")
FpSpread1.ActiveSheet.Columns(FpSpread1.ActiveSheet.ColumnCount - 1).Formula = "SUBTOTAL(9,RC[-4]:RC[-1])"
FpSpread1.ActiveSheet.Columns(FpSpread1.ActiveSheet.ColumnCount - 1).BackColor = Color.LightPink
FpSpread1.ActiveSheet.ColumnHeader.Cells(0, FpSpread1.ActiveSheet.ColumnCount - 1).BackColor = Color.LightPink
FpSpread1.ActiveSheet.SetColumnWidth(FpSpread1.ActiveSheet.ColumnCount - 1, 40)
'連結状態を取得します
For i As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
If FpSpread1.ActiveSheet.IsColumnBound(i) Then
Console.WriteLine("列:" + FpSpread1.ActiveSheet.Columns(i).Label + "は連結されています")
Else
Console.WriteLine("列:" + FpSpread1.ActiveSheet.Columns(i).Label + "は連結されていません")
End If
Next
End Sub