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。

我确定我的 Skin 工作正常,因为当我删除 AppendCssClass 调用时,我看到在 skin 中定义了 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 回答