クライアント側で変更した値をサーバー側で取得したい

文書番号 : 23782     文書種別 : 使用方法     最終更新日 : 2007/04/27
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
詳細
GetEditValue メソッドによりコマンドバーの更新ボタンやSaveChanges メソッドなどにより確定(SPREADのデータモデルを更新)する前のクライアント側の入力を取得することができます。

【VB.NETサンプルコード】
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If TypeOf (FpSpread1.GetEditValue(1, 1)) Is String Then
      System.Diagnostics.Debug.WriteLine(CStr(FpSpread1.GetEditValue(1, 1)))
    End If
  End Sub

【C#サンプルコード】
    private void Button1_Click(object sender, System.EventArgs e)
    {
      if ((FpSpread1.GetEditValue(1, 1)) is string)
      {
        System.Diagnostics.Debug.WriteLine(System.Convert.ToString(FpSpread1.GetEditValue(1, 1)));
      }
    }


また、SaveChanges メソッドなどによりUpdateCommand イベントが発生します。UpdateCommand イベントの引数(e.EditValues)からクライアント側で変更された値を取得することができます。

【VB.NETサンプルコード】
  Private Sub FpSpread1_UpdateCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.UpdateCommand
    System.Diagnostics.Debug.WriteLine(Convert.ToString(e.CommandArgument + 1) + "行目のセルが変更されました")

    Dim i As Integer
    For i = 0 To e.EditValues.Count - 1
      If Not Object.ReferenceEquals(e.EditValues.Item(i), FarPoint.Web.Spread.FpSpread.Unchanged) Then
        System.Diagnostics.Debug.WriteLine((i + 1).ToString() + "列目の変更:" + CStr(e.EditValues.Item(i)))
      End If
    Next
  End Sub

【C#サンプルコード】
    private void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
    {
      System.Diagnostics.Debug.WriteLine(Convert.ToString((int)e.CommandArgument + 1) + "行目のセルが変更されました");
      int i;
      for (i = 0; i <= e.EditValues.Count - 1; i++)
      {
        if (!Object.ReferenceEquals(e.EditValues[i], FarPoint.Web.Spread.FpSpread.Unchanged))
        {
          System.Diagnostics.Debug.WriteLine((i + 1).ToString() + "列目の変更:" + System.Convert.ToString(e.EditValues[i]));
        }
      }
    }

この文書は、以前は次のFAQ IDで公開されていました : 10102