MESCIUS 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

 

 


© MESCIUS inc. All rights reserved.