MESCIUS SPREAD for ASP.NET 10.0J サンプルコード集
選択項目のValue値を取得する

セルの値が変更され、コマンドバーの更新ボタンが押されるかコードでFpSpreadクラスのSaveChangesメソッドが実行されると、FpSpreadクラスのUpdateCommandイベントが発生します。UpdateCommandイベントで、変更された値を取得できます。

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack) return;
    //コンボボックス型セルを設定します
    ComboBoxCellType cbCell = new ComboBoxCellType()
    {
        Items = new string[] { "要素1", "要素2", "要素3" },
        Values = new string[] { "1", "2", "3" },
        UseValue = true
    };
    FpSpread1.Cells[0, 1].CellType = cbCell;
}

protected void FpSpread1_UpdateCommand(object sender, SpreadCommandEventArgs e)
{
    //変更された行ごとにUpdateCommandイベントが発生します
    //EditValues配列には1行分の値が含まれています
    //コンボボックス(2列目:インデックス「1」)が変更されたか調べます
    if (!object.ReferenceEquals(e.EditValues[1], FpSpread.Unchanged))
    {
        System.Diagnostics.Debug.WriteLine(string.Format("選択されたコンボボックスの値:{0}", e.EditValues[1]));
    }
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then Return
    'コンボボックス型セルを設定します
    Dim cbCell As New ComboBoxCellType() With {
        .Items = New String() {"要素1", "要素2", "要素3"},
        .Values = New String() {"1", "2", "3"},
        .UseValue = True
    }
    FpSpread1.Cells(0, 1).CellType = cbCell
End Sub

Protected Sub FpSpread1_UpdateCommand(sender As Object, e As SpreadCommandEventArgs) Handles FpSpread1.UpdateCommand
    '変更された行ごとにUpdateCommandイベントが発生します
    'EditValues配列には1行分の値が含まれています
    'コンボボックス(2列目:インデックス「1」)が変更されたか調べます
    If Not Object.ReferenceEquals(e.EditValues(1), FpSpread.Unchanged) Then
        System.Diagnostics.Debug.WriteLine(String.Format("選択されたコンボボックスの値:{0}", e.EditValues(1)))
    End If
End Sub

クライアント側で処理することもできます。

ComboBoxCellType cbCell = new ComboBoxCellType()
{
    Items = new string[] { "要素1", "要素2", "要素3" },
    Values = new string[] { "1", "2", "3" },
    UseValue = true,
    OnClientChanged = "onMyComboChanged();"
};
FpSpread1.Cells[0, 1].CellType = cbCell;
Dim cbCell As New ComboBoxCellType() With {
    .Items = New String() {"要素1", "要素2", "要素3"},
    .Values = New String() {"1", "2", "3"},
    .UseValue = True
    .OnClientChanged = "onMyComboChanged();"
}
FpSpread1.Cells(0, 1).CellType = cbCell
<!--JavaScriptで項目が選択されたときの処理を記述します-->
<script type="text/javascript">
    function onMyComboChanged() {
        var spread = document.getElementById("FpSpread1");
        alert("セルの値:" + spread.GetValue(spread.ActiveRow, spread.ActiveCol));
    }
</script>

 

 


© MESCIUS inc. All rights reserved.