アプリケーションに剣道グリッドがあり、フィルター可能な真のオプションがあります。私の要件は、フィルターを列に適用すると、列ヘッダーのフォント スタイルが斜体に変更されることです。方法は?自分..
質問する
1312 次
2 に答える
1
私は個人的に剣道グリッドを使用していませんが、ここですぐにデモを試してみたところ、<th>要素内の<a>要素に「k-state-active」クラスが追加されていることがわかりました。
ただし、ヘッダーテキストは<a>要素内にありません。必要なのは、現在のCSSがサポートしていない親セレクターです。
私の知る限り、これは純粋なCSSでは不可能です。
javascriptが必要です。jQueryを使用した可能な解決策は次のとおりです。
// adding click event handler to the "Filter" and "Clear" buttons
$('form.k-filter-menu .k-button').click(function(e) {
setTimeout(function() {
// first make all headers normal, then make the filtered column header italic
$('th.k-header.k-filterable').css('font-style', 'normal').filter(
':has(> .k-grid-filter.k-state-active)').css('font-style', 'italic');
}, 100);
})
setTimeoutが使用されるのは、データがフィルタリングされた後にのみ「k-state-active」クラスが追加されるためです。繰り返しになりますが、私は剣道グリッドに精通していないので、フィルターにコールバックメソッドを提供する方法があるかどうかわかりません。巨大なデータセットがある場合、100ミリ秒の遅延は十分に長くない可能性があるため、これについて調査することをお勧めします。
jQuery固有のソリューションについてお詫び申し上げます。ああ...jQueryなしでは何もできません。恥。
しかし、うまくいけば、これはあなたに役立ちました!さらにサポートが必要な場合はお知らせください。
于 2013-03-15T07:10:23.167 に答える