コンボボックス型セルで選択された要素のValues値を取得する方法

文書番号 : 35526     文書種別 : 使用方法     登録日 : 2013/03/01     最終更新日 : 2014/11/12
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
詳細
コンボボックス型セルのUseValue プロパティをTrueに設定することで、サーバー側(UpdateCommand イベントのイベント引数「e.EditValues」)やクライアント側でコンボボックス型セルで選択された要素のValues値を取得することができます。

◎サンプルコード(VB)
--------------------------------------------------
       Webフォームクラス
--------------------------------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Page.IsPostBack Then
    Return
  End If

  Dim cb As New FarPoint.Web.Spread.ComboBoxCellType(New String() {"AAA", "BBB", "CCC"}, New String() {"A", "B", "C"})
  cb.UseValue = True
  FpSpread1.ActiveSheetView.Columns(1).CellType = cb
End Sub

Protected Sub FpSpread1_UpdateCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.UpdateCommand
  If Not Object.ReferenceEquals(e.EditValues(1), FarPoint.Web.Spread.FpSpread.Unchanged) Then
    FpSpread1.ActiveSheetView.Cells(CInt(e.CommandArgument), 2).Value = e.EditValues(1)
  End If
End Sub

--------------------------------------------------
       クライアント側スクリプト
--------------------------------------------------
<script type="text/javascript">
  window.onload = init;

  function init() {
    var spread = document.getElementById("FpSpread1");
    if (spread.addEventListener) {
      spread.addEventListener("DataChanged", dataChanged, false);
    } else {
      spread.onDataChanged = dataChanged;
    }
  }

  function dataChanged(e) {
    var e = e || window.event;
    var spread = document.getElementById("FpSpread1");
    // A1セルに変更した値を設定します
    spread.SetValue(0, 0, e.cellValue, true);
  }
</script>


◎サンプルコード(C#)
--------------------------------------------------
       Webフォームクラス
--------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
  if (Page.IsPostBack)
  {
    return;
  }

  FarPoint.Web.Spread.ComboBoxCellType cb = new FarPoint.Web.Spread.ComboBoxCellType(new string[] { "AAA", "BBB", "CCC" }, new string[] { "A", "B", "C" });
  cb.UseValue = true;
  FpSpread1.ActiveSheetView.Columns[1].CellType = cb;
}

protected void FpSpread1_UpdateCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
{
  if (!Object.ReferenceEquals(e.EditValues[1], FarPoint.Web.Spread.FpSpread.Unchanged))
  {
    FpSpread1.ActiveSheetView.Cells[(int)e.CommandArgument, 2].Value = e.EditValues[1];
  }
}

--------------------------------------------------
       クライアント側スクリプト
--------------------------------------------------
VBサンプルコードと同じです
キーワード
セル型 クライアント側スクリプト