2013-02-11 26 views
8

Gridviewには多くのTemplateFieldが含まれています。
私は
は私が下に位置し、コードを試してみたが、それは私に私の色が、<td>内部<span>タグを与えることだ働いていない。しかし、ブラウザに表示されない色が私のデータベースに保存された同等の私のHTMLソース内のすべての<td>を作りたいEvalを使用してTemplateFieldの色を変更する方法

<asp:TemplateField HeaderText="BackGround Color"> 
    <ItemTemplate> 
      <asp:Label ID="lblBackColor" runat="server" 
        BackColor='<%# ConvertFromHexToColor(Eval("BackColor").ToString()) %>'> 
      </asp:Label> 
      <itemstyle width="20%" horizontalalign="Center" /> 
    </ItemTemplate>  
</asp:TemplateField> 

作業C#コード

public Color ConvertFromHexToColor(string hex) 
{ 
    string colorcode = hex; 
    int argb = Int32.Parse(colorcode.Replace("#", ""), NumberStyles.HexNumber); 
    Color clr = Color.FromArgb(argb); 
    return clr; 
} 

そして、これは私のブラウザでソースHTMLとCSSのコードである

  <td> 
       <span id="BodyZone__ThemesGrid_lblForeColor_0" style="background-color: #FFFFFF;"></span> 
       <itemstyle width="20%" horizontalalign="Center"> 
        </itemstyle> 
      </td> 

あなたは(スパンにレンダリング)あなたのラベルの内側にテキストを配置する必要が

table.activity_datatable td { 
padding: 8px 15px; 
color: #6c6c6c; 
vertical-align: middle; 
-webkit-transition: all 0.2s; 
} 
+1

スパンのテキストがないので、バックグループには色がありません –

+0

**すべてのtd ** –

答えて

4

CSSは

<asp:TemplateField HeaderText="BackGround Color"> 
    <ItemTemplate> 
    <asp:Label ID="lblBackColor" runat="server" BackColor='<%# ConvertFromHexToColor(Eval("BackColor").ToString()) %>'>PUT_TEXT_HERE</asp:Label> 
    <itemstyle width="20%" horizontalalign="Center" /> 
    </ItemTemplate> 
</asp:TemplateField> 

また、div要素にレンダリングパネルを(使用して好むかもしれません)ではなくラベルです。 divやspanの中に物を入れることを忘れないでください。

2
ForeColor='<%# Convert.ToString(Eval("ESM")) == "Elective" ? System.Drawing.Color.Green: 
      Convert.ToString(Eval("ESM")) == "Emergency" ? System.Drawing.Color.Red: System.Drawing.Color.Purple%>' 

あなたはそれがその後、赤の色が影響する他のグリーンカラーtrueの場合にブール値を確認したい場合は..........

3

をこのコードを試してみてください。次に、Eval関数に従って各色のテキストを表示します。ここでGetStatusは、テキストをUIにバインドしているコードで作成する必要があるメソッドです。そうでない場合は、通常どおりにEvalまたはBind関数にバインドできます。

ForeColor='<%# (bool)Eval("UserType")==true?System.Drawing.Color.Green:System.Drawing.Color.Red %>' 
           Text='<%# GetStatus((bool)Eval("UserType")) %>'> 
関連する問題