SPREAD for ASP.NET 10.0J サンプルコード集 > コンテキストメニュー > コンテキストメニューを表示する |
ユーザーがコントロールの行ヘッダ、列ヘッダ、またはビューポート(データおよび余白)を右クリックしたときにコンテキストメニューを表示できます。
//コントロールのコンテキストメニューを有効にします FpSpread1.EnableContextMenu = true; //ビューポートに表示するコンテキストメニューを作成します ContextMenu viewportMenu = new ContextMenu { Type=ContextMenuType.Viewport}; FarPoint.Web.Spread.MenuItem customViewportItem = new FarPoint.Web.Spread.MenuItem("親要素"); customViewportItem.ChildItems.Add(new FarPoint.Web.Spread.MenuItem("子要素1")); customViewportItem.ChildItems.Add(new FarPoint.Web.Spread.MenuItem("子要素2") { CommandName="child2"}); viewportMenu.Items.Add(customViewportItem); FpSpread1.ContextMenus.Add(viewportMenu);
'コントロールのコンテキストメニューを有効にします FpSpread1.EnableContextMenu = True 'ビューポートに表示するコンテキストメニューを作成します Dim viewportMenu As New ContextMenu() With {.Type = ContextMenuType.Viewport} Dim customViewportItem As New FarPoint.Web.Spread.MenuItem("親要素") customViewportItem.ChildItems.Add(New FarPoint.Web.Spread.MenuItem("子要素1")) customViewportItem.ChildItems.Add(New FarPoint.Web.Spread.MenuItem("子要素2") With {.CommandName = "child2"}) viewportMenu.Items.Add(customViewportItem) FpSpread1.ContextMenus.Add(viewportMenu)
<!--ASPXページを編集して設計時に設定することもできます。--> <FarPoint:FpSpread ID="FpSpread1" runat="server" ...((途中、省略))... EnableContextMenu="True"> <ContextMenus> <FarPoint:ContextMenu Type="Viewport"> <Items> <FarPoint:MenuItem Text="親要素"> <ChildItems> <FarPoint:MenuItem Text="子要素1"/> <FarPoint:MenuItem Text="子要素2" CommandName="child2"/> </ChildItems> </FarPoint:MenuItem> </Items> </FarPoint:ContextMenu> </ContextMenus> ...((以下、省略))...
上のサンプルコードでは、「子要素2」のCommandNameに「child2」を設定しています。コンテキストメニューがクリックされた時の処理はFpSpread1クラスのMenuItemClickedイベントに記述しますが、どのメニューがクリックされたかを、選択されたMenuItemのCommandNameで識別します。
protected void FpSpread1_MenuItemClicked(object sender, MenuItemClickEventArgs eventArgs) { if (eventArgs.SelectedItem.CommandName == "child2") FpSpread1.Cells[0, 0].Value = String.Format("{0}", DateTime.Now); }
Protected Sub FpSpread1_MenuItemClicked(sender As Object, eventArgs As MenuItemClickEventArgs) Handles FpSpread1.MenuItemClicked If eventArgs.SelectedItem.CommandName = "child2" Then FpSpread1.Cells(0, 0).Value = [String].Format("{0}", DateTime.Now) End If End Sub