szpzr 发表于 2018-4-19 07:31:24

右键弹出显示列菜单并设置

版主:
在Win中,通过鼠标右键弹出显示列菜单,然后选择菜单项决定显示那些列,如图:
这个功能在web下如何实现,能否通过前台设置?能否提供帮助!谢谢!

dexteryao 发表于 2018-4-19 08:54:56

您参考下http://helpcentral.componentone.com/NetHelp/SpreadNet7/ASP2/spweb-contextmenu.html
和WInfrom思路差不多,都是添加邮件菜单。

szpzr 发表于 2018-4-19 10:03:26

本帖最后由 szpzr 于 2018-4-19 13:25 编辑

能否像Win中一样有勾选项,菜单条不自动关闭,菜单太长时如何移动或调节成两列吗?

dexteryao 发表于 2018-4-19 16:59:08

可以设置模板添加checkbox

            <ContextMenus>
                <FarPoint:ContextMenu>
                  <Items>
                        <FarPoint:MenuItem Text="2Menu item 1">
                            <ItemTemplate>
                              <asp:CheckBox ID="CheckBox1" runat="server" Text="abcd"/>
                            </ItemTemplate>
                        </FarPoint:MenuItem>
                        <FarPoint:MenuItem Text="2Menu item 3">
                            <ItemTemplate>
                              <input type="checkbox" onclick="alert('a')" />
                            </ItemTemplate>
                        </FarPoint:MenuItem>
                  </Items>
                </FarPoint:ContextMenu>
            </ContextMenus>
菜单不能并排,可以设置滚动条

    <style>
      .SpreadContextMenu {
            height:200px;
            overflow:auto;
      }
    </style>

szpzr 发表于 2018-4-19 18:14:53

dexteryao :您好!
谢谢指教!
前台菜单:<ContextMenus>
                                    <FarPoint:ContextMenu>
                                    </FarPoint:ContextMenu>
                              </ContextMenus>
语句:<styletype ="text/css">
      .ContextMenus{
            height:200px;
            overflow:auto;
      }
    </style>
</head>好像没有效果。
另外:菜单是通过后台语句:
FpSpread1.EnableContextMenu = true;
                //Create this viewport menu using markup or the ContextMenus property in the property window
                FarPoint.Web.Spread.ContextMenu viewportMenu = FpSpread1.ContextMenus;
                for (int J = 1; J <= FpSpread1.Sheets.ColumnCount; J++)
                {
                  FarPoint.Web.Spread.MenuItem Items=new FarPoint.Web.Spread.MenuItem(""+ FpSpread1 .Sheets .ColumnHeader .Cells .Text +"");
                  viewportMenu.Items.Add(Items);
                }
生成的,前台添加checkbox如何操作,不太明白,请给予指教。

szpzr 发表于 2018-4-19 18:20:06

啊能前台通过脚本生成上面的菜单?

Clark.Pan 发表于 2018-4-20 17:46:13

szpzr 发表于 2018-4-19 18:14
dexteryao :您好!
谢谢指教!
前台菜单:


是.SpreadContextMenu不是.ContextMenus这里是给SpreadContextMenu这个类设置样式,然而没有ContextMenus这个类

szpzr 发表于 2018-4-20 18:05:37

能否从后台或者JS示例提供下帮助?

Clark.Pan 发表于 2018-4-23 17:51:37

<styletype ="text/css">
      .SpreadContextMenu {
            height:200px;
            overflow:auto;
      }
    </style>

szpzr 发表于 2018-4-24 08:10:30

ClarkPan:您好!
后台:for (int J = 1; J <= FpSpread1.Sheets.ColumnCount; J++)
                {
                  Items = new FarPoint.Web.Spread.MenuItem("" + FpSpread1.Sheets.ColumnHeader.Cells.Text + "");
                  viewportMenu.Items.Add(Items);
                }
菜单的Items中如何插入checkBox,如何设置菜单项的点击事件?
能否提供帮助?谢谢!
页: [1] 2 3 4
查看完整版本: 右键弹出显示列菜单并设置