关于筛选功能位置添加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);
}
}}
你好,demo只有AngularJS的版本,可以根据逻辑迁移到purejs环境中使用。
可以根据e的参数加判断,如图:
参数col指出了列标,通过它可以判断出具体哪一列需要cancel 您好,问题已收到,明天中午前给您答复 您好,这样添加的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) KevinChen 发表于 2020-7-15 09:50
您好,这样添加的filter相当于在列头上浮了一个div层,所以无法随鼠标事件执行关闭。
推荐参考这篇示例 ...
能否提供js的参考资料 您好,是链接访问不了还是?是需要完整的js示例,还是API文档呢? 本帖最后由 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]