0

この拡張機能を作成しました:

public static class GridViewRowExtension
{
    public static void AppendCssClass(this GridViewRow row, string cssClass)
    {
        row.CssClass = string.Format("{0} {1}", row.CssClass, cssClass).Trim();
    }
}

OnRowDataBoundイベントで使用しました。

    protected void OnInstrumentsRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            AdjustRow(e.Row);
            ToggleCloseButton(e.Row);
            DisplayPerformance(e.Row);
        }
        else
        {
            e.Row.AppendCssClass("nodrag nodrop grt_gridview_default_header");
        }
    }

ただし、row.CssClass が次の行で {0} として使用されているため、追加は機能しません。

row.CssClass = string.Format("{0} {1}", row.CssClass, cssClass).Trim();

空です。GridView のデフォルト スキンで CssClass が定義されることを期待していました。

AppendCssClass 呼び出しを削除すると、スキンで CssClass が定義されていることがわかります。

私が望むものを達成できない理由はありますか?

4

1 に答える 1

0

このために jQuery を試してみませんか?

$(document).ready(function ()
 {$("#divGridView table tbody tr").each(function () 
     {
    var myClass = $(this).attr("class");
    $(this).removeClass(myClass);
    $(this).addClass(myClass + " nodrag nodrop grt_gridview_default_header");

})}); 
于 2013-01-03T07:20:53.473 に答える