linyonghe 发表于 2020-7-14 14:12:23

关于筛选功能位置添加daterangepicker组件

本帖最后由 linyonghe 于 2020-7-17 09:06 编辑

我添加了一个日历组件,在点击wijmo自带筛选功能时无法关闭日历组件var edtdateTitle_flex = $('<button class="wj-glyph-filter" id="calendar" ><spanid="daterange_flex" class="form-control form-control-sm " name="daterange_flex" value="" placeholder="YYYY/MM/DD - YYYY/MM/DD" ></span></button>')[0];

edtdateTitle_flex.addEventListener('click', function () {
    $('#daterange_flex').daterangepicker({
            autoUpdateInput: false,
            format:'YYYY/MM',

daterangepicker代码省略flex.itemFormatter = function (panel, r, c, cell) {
    if (panel.cellType == wijmo.grid.CellType.ColumnHeader) {
      if (panel.columns.binding =='activityDate_c') {
            cell.appendChild(edtdateTitle_flex);
      }
    }}

KevinChen 发表于 2020-7-14 14:12:24

你好,demo只有AngularJS的版本,可以根据逻辑迁移到purejs环境中使用。

可以根据e的参数加判断,如图:



参数col指出了列标,通过它可以判断出具体哪一列需要cancel

KevinChen 发表于 2020-7-14 18:16:50

您好,问题已收到,明天中午前给您答复

KevinChen 发表于 2020-7-15 09:50:27

您好,这样添加的filter相当于在列头上浮了一个div层,所以无法随鼠标事件执行关闭。

推荐参考这篇示例:

http://jsfiddle.net/gsdqveym/1/

关键代码如下:

// create Filter instance to add Filter Icon               
      var filter=new wijmo.grid.filter.FlexGridFilter(grid);
      // cancel Filter Dialog open
      filter.filterChanging.addHandler(function(s,e){
              e.cancel=true;
      })
      // handle click event for FlexGrid and open custom filter
            grid.hostElement.addEventListener("click",function(e){
      var ht= grid.hitTest(e);
               if(e.target.className.split(" ").indexOf("wj-glyph-filter")>-1){
      filterItem=e.target;
          var cstmFilter=$scope.customFilter;
          cstmFilter.owner=e.target;
          if(!cstmFilter.isVisible){
                  cstmFilter.show();
          }else{
                  cstmFilter.hide();
          }
         
      }
      },true)

linyonghe 发表于 2020-7-15 16:49:56

KevinChen 发表于 2020-7-15 09:50
您好,这样添加的filter相当于在列头上浮了一个div层,所以无法随鼠标事件执行关闭。

推荐参考这篇示例 ...

能否提供js的参考资料

KevinChen 发表于 2020-7-15 19:08:01

您好,是链接访问不了还是?是需要完整的js示例,还是API文档呢?

linyonghe 发表于 2020-7-16 09:17:04

本帖最后由 linyonghe 于 2020-7-16 09:21 编辑

KevinChen 发表于 2020-7-15 19:08
您好,是链接访问不了还是?是需要完整的js示例,还是API文档呢?
您好,开发工程没有涉及到AngularJS,能否提供js参考资料filter.filterChanging.addHandler(function(s,e){
              e.cancel=true;
      })

这行代码会停止触发wijmo原有过滤,怎么判断某列不触发这个e.cancel=true;

页: [1]
查看完整版本: 关于筛选功能位置添加daterangepicker组件