チェンジセット 1640 (default)
- 日時:
- 2024/02/28 19:04:18 (7ヵ月前)
- 場所:
- framework/trunk
- ファイル:
-
- 7個の更新
凡例:
- 未変更
- 追加
- 削除
-
framework/trunk/WebApplication/Styles/main.css
r1223 r1640 73 73 color: #990000; 74 74 } 75 76 .list-row-check2 77 { 78 color: #009999; 79 font-weight: bold; 80 } -
framework/trunk/WebApplication/UI/WebControls/RowStyleFieldPage.aspx
r823 r1640 1 <%@ Page1 <%@ Page 2 2 Language="C#" 3 3 CodeBehind="RowStyleFieldPage.aspx.cs" … … 17 17 18 18 <h1>UnitTestWeb/UI/WebControls/RowStyleFieldPage.aspx</h1> 19 19 20 20 <asp:Button ID="PostBackButton" runat="server" 21 21 Text="PostBack" … … 47 47 <ItemStyle CssClass="list-row-check" /> 48 48 </sff:RowStyleField> 49 <sff:RowStyleField 50 DataField="is_one" 51 MergeCssClass="True"> 52 <ItemStyle CssClass="list-row-check2" /> 53 </sff:RowStyleField> 49 54 <sff:BoundField 50 55 HeaderText="name" -
framework/trunk/WebApplication/UI/WebControls/RowStyleFieldPage.aspx.designer.cs
r823 r1640 1 1 //------------------------------------------------------------------------------ 2 // < auto-generated>2 // <自動生成> 3 3 // このコードはツールによって生成されました。 4 // ランタイム バージョン:2.0.50727.49635 4 // 6 5 // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 // コードが再生成されるときに損失したりします。 8 // </ auto-generated>6 // コードが再生成されるときに損失したりします。 7 // </自動生成> 9 8 //------------------------------------------------------------------------------ 10 9 … … 19 18 /// <remarks> 20 19 /// 自動生成されたフィールド。 21 /// 変更するには、フィールドの宣言をデザイナ ファイルから分離コード ファイルに移動します。20 /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 22 21 /// </remarks> 23 22 protected global::System.Web.UI.HtmlControls.HtmlForm MainForm; … … 28 27 /// <remarks> 29 28 /// 自動生成されたフィールド。 30 /// 変更するには、フィールドの宣言をデザイナ ファイルから分離コード ファイルに移動します。29 /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 31 30 /// </remarks> 32 31 protected global::System.Web.UI.WebControls.Button PostBackButton; … … 37 36 /// <remarks> 38 37 /// 自動生成されたフィールド。 39 /// 変更するには、フィールドの宣言をデザイナ ファイルから分離コード ファイルに移動します。38 /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 40 39 /// </remarks> 41 40 protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.CommonDbDataSource CommonDbDataSource101; … … 46 45 /// <remarks> 47 46 /// 自動生成されたフィールド。 48 /// 変更するには、フィールドの宣言をデザイナ ファイルから分離コード ファイルに移動します。47 /// 変更するには、フィールドの宣言をデザイナー ファイルから分離コード ファイルに移動します。 49 48 /// </remarks> 50 49 protected global::FCSoft.SilverFrost.Framework.Web.UI.WebControls.GridView CommonDbDataSource101GridView; -
framework/trunk/WebLibrary/Sources/Reflections.cs
r1639 r1640 1135 1135 1136 1136 /// <summary> 1137 /// <see cref="System.Web.UI.WebControls.Style"/> に関係するリフレクションの集合です。 1138 /// </summary> 1139 internal static class Style 1140 { 1141 /// <summary> 1142 /// <c>Style.SetRegisteredCssClass</c> メソッドを呼び出すデリゲートです。 1143 /// </summary> 1144 private static readonly Action<System.Web.UI.WebControls.Style, string> SetRegisteredCssClassDelegate; 1145 1146 1147 /// <summary> 1148 /// クラスを初期化します。 1149 /// </summary> 1150 static Style() 1151 { 1152 MethodInfo setRegisteredCssClass 1153 = typeof(System.Web.UI.WebControls.Style).GetMethod( 1154 "SetRegisteredCssClass", 1155 BindingFlags.Instance | BindingFlags.NonPublic, 1156 null, 1157 new[] { typeof(string) }, 1158 null); 1159 if (setRegisteredCssClass != null) 1160 { 1161 SetRegisteredCssClassDelegate = delegate(System.Web.UI.WebControls.Style style, string cssClass) 1162 { 1163 setRegisteredCssClass.Invoke(style, new object[] { cssClass }); 1164 }; 1165 } 1166 } 1167 1168 1169 /// <summary> 1170 /// 使用出来るかどうかを返します。 1171 /// </summary> 1172 /// <value> 1173 /// 使用出来る場合は <see langword="true"/>。 1174 /// それ以外の場合は <see langword="false"/>。 1175 /// </value> 1176 internal static bool IsValid 1177 { 1178 get 1179 { 1180 return SetRegisteredCssClassDelegate != null; 1181 } 1182 } 1183 1184 1185 /// <summary> 1186 /// <c>Style.SetRegisteredCssClass</c> メソッドを呼び出します。 1187 /// </summary> 1188 /// <param name="style">スタイル。</param> 1189 /// <param name="cssClass">CSS クラス。</param> 1190 internal static void SetRegisteredCssClass( 1191 System.Web.UI.WebControls.Style style, 1192 string cssClass) 1193 { 1194 if (SetRegisteredCssClassDelegate == null) 1195 { 1196 return; 1197 } 1198 1199 SetRegisteredCssClassDelegate(style, cssClass); 1200 } 1201 } 1202 1203 1204 /// <summary> 1137 1205 /// <see cref="System.Web.UI.WebControls.ListControl"/> に関係するリフレクションの集合です。 1138 1206 /// </summary> -
framework/trunk/WebLibrary/Sources/UI/WebControls/RowStyleField.cs
r864 r1640 44 44 private const string DataFieldKey = "DataField"; 45 45 46 /// <summary> 47 /// <see cref="MergeCssClass"/> プロパティ用のキー。 48 /// </summary> 49 private const string MergeCssClassKey = "MergeCssClass"; 50 46 51 47 52 /// <summary> … … 92 97 } 93 98 99 /// <summary> 100 /// <see cref="DataControlField.ItemStyle"/> に設定された 101 /// <see cref="Style.CssClass"/> をマージするかどうかを取得または設定します。 102 /// </summary> 103 /// <value> 104 /// <see cref="DataControlField.ItemStyle"/> に設定された 105 /// <see cref="Style.CssClass"/> をマージする場合は <see langword="true"/>。 106 /// それ以外の場合は <see langword="false"/>。 107 /// 既定値は <see langword="false"/> です。 108 /// </value> 109 [Themeable(false)] 110 [DefaultValue("")] 111 [WebCategory("Appearance")] 112 [WebDescription("Description_MergeCssClass")] 113 public virtual bool MergeCssClass 114 { 115 get 116 { 117 return (bool)(ViewState[MergeCssClassKey] ?? false); 118 } 119 120 set 121 { 122 ViewState[MergeCssClassKey] = value; 123 } 124 } 125 94 126 #region プロパティの隠蔽 95 127 // ReSharper disable UnusedMember.Local … … 378 410 /// イベント データを格納している <see cref="EventArgs"/>。 379 411 /// </param> 412 /// <exception cref="HttpException"> 413 /// controlContainer が <see langword="null"/> 参照か、 414 /// コンテナのデータアイテムが <see langword="null"/> 参照か、 415 /// コンテナに <see cref="DataField"/> で指定したフィールドが見つかりません。 416 /// </exception> 380 417 protected virtual void OnDataBindField(object sender, EventArgs e) 381 418 { … … 418 455 } 419 456 457 // 親が GridView の場合で CssClass をマージする場合、GridView の RowStyle/AlternatingRowStyle から CssClass を取得しマージ 458 string newCssClass = null; 459 if (MergeCssClass) 460 { 461 string cssClass = ItemStyle.CssClass; 462 if (!string.IsNullOrWhiteSpace(cssClass)) 463 { 464 GridViewRow gridViewRow = parent as GridViewRow; 465 if (gridViewRow != null) 466 { 467 System.Web.UI.WebControls.GridView gridView 468 = parent.Parent.Parent as System.Web.UI.WebControls.GridView; 469 470 string parentCssClass = null; 471 if (gridViewRow.RowIndex % 2 != 0) 472 { 473 parentCssClass = gridView.AlternatingRowStyle.CssClass; 474 } 475 476 if (string.IsNullOrEmpty(parentCssClass)) 477 { 478 parentCssClass = gridView.RowStyle.CssClass; 479 } 480 481 newCssClass 482 = !string.IsNullOrWhiteSpace(parentCssClass) 483 ? parentCssClass + " " + cssClass 484 : null; 485 } 486 } 487 } 488 420 489 parent.MergeStyle(ItemStyle); 421 } 422 423 /// <summary> 424 /// バインドされているフィールドの値を取得します。 490 491 if (newCssClass != null) 492 { 493 parent.CssClass = newCssClass; 494 } 495 } 496 497 /// <summary> 498 /// バインドされているフィールドの値を取得します。 425 499 /// </summary> 426 500 /// <param name="controlContainer"> -
framework/trunk/WebTest/Sources/ReflectionsTest.cs
r1639 r1640 389 389 390 390 /// <summary> 391 /// <see cref="Reflections.Style"/> が使用出来るかのテストです。 392 /// </summary> 393 [Test] 394 public void TestStyleIsValid() 395 { 396 Assert.That(Reflections.Style.IsValid, Is.True); 397 } 398 399 /// <summary> 400 /// <see cref="Reflections.Style"/> の <c>SetRegisteredCssClass</c> メソッドを呼び出すテストです。 401 /// </summary> 402 [Test] 403 public void TestStyleSetRegisteredCssClass() 404 { 405 System.Web.UI.WebControls.Style style 406 = new System.Web.UI.WebControls.Style(); 407 408 Reflections.Style.SetRegisteredCssClass(style, "class1"); 409 410 System.Web.UI.WebControls.Style targetStyle 411 = new System.Web.UI.WebControls.Style 412 { 413 CssClass = "target-class" 414 }; 415 416 targetStyle.MergeWith(style); 417 418 Assert.That(targetStyle.CssClass, Is.EqualTo("target-class class1")); 419 } 420 421 422 /// <summary> 391 423 /// <see cref="Reflections.ListControl"/> が使用出来るかのテストです。 392 424 /// </summary>
※ 詳しい使い方は
TracChangeset を参照してください。