我刚刚创建了此扩展程序:
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。
为什么我没有实现我想要的任何想法?
答案 0 :(得分: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");
})});