プログラムでGridViewに追加のクラスを追加したいとします。私は次のコードを使用してこれを行うことができることを知っています:RowDataBoundの2番目のクラスをgridviewの行に追加する
public void RowDataBound(object sender, GridViewRowEventArgs e)
{
DataRow row = ((DataRowView)e.Row.DataItem).Row;
if (!row.Field<Boolean>("IsActive"))
{
e.Row.Attributes["class"] += "InActive";
}
}
そしてそれは問題ありません。クラス「のisActiveは、」私は、このHTMLで終わる行を交互に、しかし、追加されます。
<tr class="gvAlternatingStyle" class="InActive"
onmouseover="gvMouseOver(this)"
onmouseout="gvMouseOut(this)" style="cursor:pointer;">
二つのクラス定義は、私が欲しいものではありません。私はこのようなものを持つことを望んでいるでしょう:
<tr class="gvAlternatingStyle InActive"
onmouseover="gvMouseOver(this)"
onmouseout="gvMouseOut(this)" style="cursor:pointer;">
これはもちろん、より有効です。
このhtmlをどこで調整するかわかりません。 OnPreRender()でおそらくどこに見えません。誰も私にポインタを与えることができますか?
私は実際にちょうど似たような(発生を実装私はこの質問をタイプしたので私に)私はまだ手で交互の様式をプログラムすることなくそれをする方法があったかどうか見るために興味があった。早速のご返事ありがとうございます!!誰も上記の直接的な解決策が出てこない場合は、私はあなたの答えを答えとしてマークします。 –
'AlternatingRowStyle-CssClass'で定義されたクラスは、後で' OnRowDataBound'イベントで何が起こるかと考えられます。私は 'e.Row.Attributes.Remove(" class ");で簡単なテストを行い、新しいクラスをもう一度追加しましたが、うまくいきませんでしたが、クラスはまだ追加されました。 – VDWWD
そうです、私は同意します。まだ実験中。私はOnPreRenderでそれを見ましたが、クラスはまだありません。 –