Excel編集画面を作成する
一覧画面でボタンクリックイベントを検出する
ファイル一覧画面では行ごとにボタンを設置しています。このようなデザインの場合、ボタンをクリックするとどのようなイベントが起きるのでしょうか。答えはButtonCommandイベントです。
SPREADのButtonCommandイベントの特徴は、SPREADに配置したボタンをクリックすれば一律でButtonCommandイベントが発生するという事です。ボタンがクリックされた行については、イベントプロシージャの引数「e」から「e.CommandArgument.X」プロパティを参照して行を取得できます。
各ボタンの識別はe.CommandNameにクリックしたボタンのコマンド名が設定されます。例えば[編集ボタン]には「Edit_Button」というコマンド名を設定しています。

Private Sub List_FpSpread_ButtonCommand(ByVal sender As Object,
ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) _
Handles List_FpSpread.ButtonCommand
Dim filePath As String = System.IO.Path.Combine(My.Request.PhysicalApplicationPath,
"App_Data")
Dim fileName As String = Me.List_FpSpread.Sheets(0).GetText(e.CommandArgument.X, 0)
Select Case e.CommandName
Case "Edit_Button"
Call GetExcel(filePath, fileName)
Me.FileName_Label.Text = fileName
Case "Get_Button"
Call DownloadExcelFile(filePath, fileName)
End Select
End Sub
ExcelファイルをSPREADに表示する
Private Function GetExcel(ByVal filePath As String,
ByVal fileName As String) As Boolean
Dim isOK As Boolean = False
Try
Me.Excel_FpSpread.OpenExcel(System.IO.Path.Combine(filePath, fileName))
Me.Excel_FpSpread.ActiveSheetView.PageSize = Me.Excel_FpSpread.Rows.Count
Catch ex As Exception
Me.Message_Label.Text = ex.Message
End Try
isOK = True
Return isOK
End Function
SPREADにExcelファイルの内容を表示するのに必要なのはリスト4のように、OpenExcelメソッドの実行とActiveSheetView.PageSizeにRows.Countを入れて、Excelシートの内容がすべて表示できるようにPageSizeを調整するコードです。なお、Excelシートを表示するExcel_FpSpreadは、Webフォームに貼りつけただけで利用できます。

