[解決済み] キャメルケースの分割
2023-05-25 19:30:22
質問
これは、すべてのasp.netのc#です。
私はenumを持っています
public enum ControlSelectionType
{
NotApplicable = 1,
SingleSelectRadioButtons = 2,
SingleSelectDropDownList = 3,
MultiSelectCheckBox = 4,
MultiSelectListBox = 5
}
この数値は私のデータベースに保存されています。私はこの値をデータグリッドに表示します。
<asp:boundcolumn datafield="ControlSelectionTypeId" headertext="Control Type"></asp:boundcolumn>
IDはユーザーにとって何の意味もないので、boundcolumnを以下のようにしてテンプレートカラムに変更しました。
<asp:TemplateColumn>
<ItemTemplate>
<%# Enum.Parse(typeof(ControlSelectionType), DataBinder.Eval(Container.DataItem, "ControlSelectionTypeId").ToString()).ToString()%>
</ItemTemplate>
</asp:TemplateColumn>
これでだいぶ良くなりました...。しかし、Enumをキャメルケースで分割して、単語がデータグリッドでうまくラップされるようにするための簡単な関数があれば最高です。
注: 私は、これらすべてを行うより良い方法があることを十分に認識しています。この画面は純粋に内部的に使用され、私はそれを少し良く表示するための迅速なハックが欲しいだけです。
どのように解決するのですか?
確かに正規表現と置換は他の回答にあるように行く方法ですが、あなたが別の方向に行きたい場合は、これはまた、あなたに役立つかもしれません。
using System.ComponentModel;
using System.Reflection;
...
public static string GetDescription(System.Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (attributes.Length > 0)
return attributes[0].Description;
else
return value.ToString();
}
これにより、Enumを以下のように定義することができます。
public enum ControlSelectionType
{
[Description("Not Applicable")]
NotApplicable = 1,
[Description("Single Select Radio Buttons")]
SingleSelectRadioButtons = 2,
[Description("Completely Different Display Text")]
SingleSelectDropDownList = 3,
}
より引用
http://www.codeguru.com/forum/archive/index.php/t-412868.html
関連
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】Pythonの文字列の最後のデリミタで分割する?
-
[解決済み】Java:カンマ区切りの文字列を分割するが、引用符の中のカンマは無視される
-
[解決済み】文字列を一定の大きさのチャンクに分割する
-
[解決済み】split("|")でJavaの文字列をパイプ記号で分割する。)
-
[解決済み] Rubyで文字列をsnake_caseからCamelCaseに変換する。
-
[解決済み] ダッシュを含む文字列をキャメルケースに変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】大文字の前にスペースを追加する
-
[解決済み] キャメルケースのトークンの単語間にスペースを挿入する [重複].