SlickGrid标题菜单 - 单个列的多个选择

时间:2014-01-10 09:30:36

标签: javascript jquery grails slickgrid

我一直在我的grails应用程序中使用SLickGrid但是现在我只能通过菜单下拉列表中的一个选项来标记列。 这个的js代码是: -

var headerMenuPlugin = new Slick.Plugins.HeaderMenu({buttonImage:window.params.dropDownIconUrl});
headerMenuPlugin.onBeforeMenuShow.subscribe(function(e, args) {
 var menu = args.menu;
 var i = menu.items.length;
 var iconClass = undefined
 menu.items[0].iconCssClass = (args.column.name === $("#sciNameColumn").val())?'icon-check':undefined
 menu.items[1].iconCssClass = (args.column.name === $("#commonNameColumn").val())?'icon-check':undefined
 });

 headerMenuPlugin.onCommand.subscribe(function(e, args) {
 var name = args.column.name;
 if(args.command === 'sciNameColumn') {
  if(args.column.name == $('#sciNameColumn').val())
  name = ''
  if(args.column.name == $('#commonNameColumn').val())
    $('#commonNameColumn').val('');
    $('#sciNameColumn').val(name);
   } else if(args.command === 'commonNameColumn') {
   if(args.column.name == $('#commonNameColumn').val())
      name = ''
   if(args.column.name == $('#sciNameColumn').val())
     $('#sciNameColumn').val('');
     $('#commonNameColumn').val(name);
    }
     selectNameColumn($('#commonNameColumn'), commonNameFormatter);
     selectNameColumn($('#sciNameColumn'), sciNameFormatter);
    });
    grid.registerPlugin(headerMenuPlugin);

但现在的要求是我需要从下拉列表中选择多个列并保存选择并稍后使用它,并且可以为多个列执行相同的选择。

希望我很清楚,谢谢你的支持

1 个答案:

答案 0 :(得分:0)

我所做的是更改headerMenu插件以引入两个功能:

  • 新项目选项keepOpen,用于阻止菜单在命令后关闭,
  • 在命令后刷新项目详细信息(特别是iconImageiconCssClass)(仅当菜单保持打开状态时)。

如果我找到时间,我会尝试在SlickGrid仓库上设置拉取请求。