作成日: 2021/07/26 最終更新日: 2022/09/07
文書種別
不具合
状況
修正済み
詳細
FlexGridにて、セルに半角英数のみの長い文字列(スペースなどが含まれない1単語)を設定した場合、フィルタダイアログの値フィルタでその項目を選択すると値が途中で見切れて、全ての値が表示されません。
回避方法
この問題はバージョン5.20221.857で修正されました。
修正版を適用しない場合の回避方法は次の通りです。
下記のいずれかの方法をご検討ください。
回避方法1:下記のスタイルを追加します。
.wj-listbox-item {
display: inline-block;
min-width: 100%;
}
*この方法の場合、対象列以外もリスト項目の幅が広がります。
回避方法2:FlexGridFilterのfilterChangingイベントを利用してコードでスタイルを設定します。
回避方法2:FlexGridFilterのfilterChangingイベントを利用してコードでスタイルを設定します。
filterChanging: function (s, e) {
if (e.getColumn().binding == "country") {
var timeout = setTimeout(function () {
var edt = s.activeEditor,
lbHost = edt.hostElement.querySelector('[wj-part=div-values]'),
labels = Array.prototype.slice.call(lbHost.querySelectorAll('.wj-listbox-item label')),
padding = 10;
var biggestWidth =Math.max.apply(null, Array.prototype.slice.call(labels.map(function (label) {return label.scrollWidth})))
Array.prototype.slice.call(lbHost.querySelectorAll('.wj-listbox-item')).forEach(function (item) {item.style.width = biggestWidth + padding + 'px'} );
});
}
}