この拡張機能を作成しました:
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 が定義されていることがわかります。
私が望むものを達成できない理由はありますか?