SORU
21 NİSAN 2009, Salı


Bölme CamelCase

Bu ASP.NET c#.

Bir sıralama var

public enum ControlSelectionType 
{
    NotApplicable = 1,
    SingleSelectRadioButtons = 2,
    SingleSelectDropDownList = 3,
    MultiSelectCheckBox = 4,
    MultiSelectListBox = 5
}

Bu sayısal değer benim veritabanında saklanır. Bir kılavuzunu bu değer görüntüler.

<asp:boundcolumn datafield="ControlSelectionTypeId" headertext="Control Type"></asp:boundcolumn>

KİMLİĞİ ile aşağıdaki şablon bir sütun için boundcolumn değiştirdim yani bir kullanıcı için hiçbir şey ifade etmiyor.

<asp:TemplateColumn>
    <ItemTemplate>
        <%# Enum.Parse(typeof(ControlSelectionType), DataBinder.Eval(Container.DataItem, "ControlSelectionTypeId").ToString()).ToString()%>
    </ItemTemplate>
</asp:TemplateColumn>

Bu çok daha iyi... Ancak, kelimeleri güzel kılavuzunu sarın böylece Deve dava ile paylaşmak için Numaralama etrafında koymak basit bir fonksiyon olsaydı harika olurdu.

Not: bunu yapmanın daha iyi yolları olduğunu tam olarak farkında değilim. Bu ekran sadece DAHİLİ olarak kullanılır ve sadece bir hızlı kesmek yerine biraz daha iyi bir görüntü istiyorum.

CEVAP
21 NİSAN 2009, Salı


Gerçekten değiştirmek için bir düzenli ifade ise farklı bir yöne gitmek istersen senin için bu da işe yarayabilir ancak diğer yanıt olarak tanımlanan, gitmek yoludur

    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();
    }

bu Çeteleler olarak tanımlamak izin verir

public enum ControlSelectionType 
{
    [Description("Not Applicable")]
    NotApplicable = 1,
    [Description("Single Select Radio Buttons")]
    SingleSelectRadioButtons = 2,
    [Description("Completely Different Display Text")]
    SingleSelectDropDownList = 3,
}

Alınan

http://www.codeguru.com/forum/archive/index.php/t-412868.html

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • graham025

    graham025

    25 NİSAN 2006
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011