おそらく、対応する列にclassesプロパティを使用する必要があります。
formFormElement
に存在するクラスについて書いたので、それが必要なものかどうかわかりません。たとえば、編集フォームの対応するフィールドの入力フィールドにクラスを追加するために、フォーム編集のbeforeShowFormコールバックを使用する必要がある場合。フォーム内のフィールドの ID は、 の対応する列のプロパティと同じです。name
colModel
本当に 1 つの列のセルにクラス属性を追加する必要がある場合は、もう 1 つの可能性があります:cellattr
の列のコールバックを定義しますcolModel
。列のすべてのセルではなくクラスを追加する必要がある場合、この方法は実用的です。行の内容に基づいていくつかの条件をテストし、条件が発生した場合にのみクラスを設定できます。たとえば、 を使用すると、列のすべてのセルにclasses:'ui-state-error-text ui-state-error'
対応する 2 つのクラス (ui-state-error-text
およびui-state-error
)が設定されます。反対側のコールバック関数
cellattr: function(rowId, val, rawObject) {
if (parseFloat(val) > 200) {
return " class='ui-state-error-text ui-state-error'";
}
}
セルの値が 200 よりも大きい場合にのみ、クラスを設定できますrawObject
。上記のコールバックでは使用していないため、オプションのパラメーターを削除できます。パラメータを使用して行の別の列の値にアクセスできることを思い出させるために、コールバックに追加しました。そのため、さらに複雑なシナリオを で実装できますcellattr
。
結果として、次の図のようなグリッドを取得できます。
更新class
:編集フォームの入力フィールドに追加する必要がある場合は、さらにeditoptionsdataInit
のコールバックを使用できます。その場合、使い方は非常に簡単です。たとえば、次のことができます。
editoptions: {
dataInit: function (domElem) {
$(domElem).addClass("ui-state-highlight");
}
}
結果として、次のような編集フォームが得られます
ここで見つけることができるデモ。