作成日: 2019/10/18 最終更新日: 2019/10/18
文書種別
技術情報
詳細
サーバー側のInsertCommandイベントが発生した時点では、まだ行の追加処理が完了していないため、セルに値を設定することができません。そのため、クライアント側のCallBackStoppedイベントで、行追加処理の完了を検知したときにCallBackメソッドを呼び出し、サーバー側のButtonCommandイベントでセルに初期値を設定する方法を紹介します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
------------------------
Webフォームクラス
------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.AllowInsert = True
End Sub
Protected Sub FpSpread1_ButtonCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.ButtonCommand
If e.CommandName = "Added" Then
Dim row As Integer = FpSpread1.ActiveSheetView.RowCount - 1
FpSpread1.ActiveSheetView.SetValue(row, 0, "a")
End If
End Sub
------------------------------------
クライアント側
------------------------------------
<script type="text/javascript">
document.onreadystatechange = function () {
if (document.readyState == "complete") {
var spread = document.getElementById("FpSpread1");
spread.addEventListener("CallBackStopped", CallBackStopped, true);
}
}
function CallBackStopped(e) {
if (e.command == "Add") {
var spread = document.getElementById("FpSpread1");
spread.CallBack("Added");
}
}
</script>
Webフォームクラス
------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
FpSpread1.ActiveSheetView.AllowInsert = True
End Sub
Protected Sub FpSpread1_ButtonCommand(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.ButtonCommand
If e.CommandName = "Added" Then
Dim row As Integer = FpSpread1.ActiveSheetView.RowCount - 1
FpSpread1.ActiveSheetView.SetValue(row, 0, "a")
End If
End Sub
------------------------------------
クライアント側
------------------------------------
<script type="text/javascript">
document.onreadystatechange = function () {
if (document.readyState == "complete") {
var spread = document.getElementById("FpSpread1");
spread.addEventListener("CallBackStopped", CallBackStopped, true);
}
}
function CallBackStopped(e) {
if (e.command == "Add") {
var spread = document.getElementById("FpSpread1");
spread.CallBack("Added");
}
}
</script>
◎サンプルコード(C#)
------------------------
Webフォームクラス
------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack) return;
FpSpread1.ActiveSheetView.AllowInsert = true;
}
protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
{
if (e.CommandName == "Added")
{
int row = FpSpread1.ActiveSheetView.RowCount - 1;
FpSpread1.ActiveSheetView.SetValue(row, 0, "a");
}
}
------------------------------------
クライアント側
------------------------------------
※VBのサンプルコードと同様
Webフォームクラス
------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack) return;
FpSpread1.ActiveSheetView.AllowInsert = true;
}
protected void FpSpread1_ButtonCommand(object sender, FarPoint.Web.Spread.SpreadCommandEventArgs e)
{
if (e.CommandName == "Added")
{
int row = FpSpread1.ActiveSheetView.RowCount - 1;
FpSpread1.ActiveSheetView.SetValue(row, 0, "a");
}
}
------------------------------------
クライアント側
------------------------------------
※VBのサンプルコードと同様
旧文書番号
84566