如题:比如从数据库取得的数据为
name        sex
Charles     1
Mary        0怎么在DataList项目显示名字,切以不同的颜色以区分性别.
男的兰色,女的红色!

解决方案 »

  1.   

    另外,我想设置DataList显示项目中的一个模板中的Label,在运行时设置它的MaxLength的属性值?
      

  2.   

    1.Label控件,没有办法设置MaxLength属性.
    2.改变颜色:
    你可在SQL语句里面直接判断,直接修改.示例如下(ACCESS):
    select iif(sex=1,'<font color=blue>' & name & '</font>','<font color=red>' & name & '</font>') as name from table
    这样显示出来自然没有问题.
      

  3.   

    写一个函数public static string ViewNameBySex(string viewString, int sex)
    {
    string rValue = "";
    if(sex == 1)
    rValue = "<font color=red>" + viewString + "<font>";
    else
    rValue = "<font color=blue>" + viewString + "<font>";
    return rValue;
    }DataList 绑定的时候<%# 你的命名控件.ViewNameBySex( DataBinder.Eval(Container, "DataItem.name"), Convert.ToInt32(DataBinder.Eval(Container, "DataItem.sex"))) %>你试一下
      

  4.   

    private void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
    if(dt.Rows.Count!=0)
    {
    CompareColor(e);
    }
    }private void CompareColor(System.Web.UI.WebControls.DataListItemEventArgs e)
    {
    try
    {
    ((Label)e.Item.FindControl("DepFirst")).ForeColor=Compare(dt.Rows[0]["DepFirst"],((Label)e.Item.FindControl("DepFirst")).Text.ToString());
    }
    catch{}
    }private Color Compare(string strOld, string strNew)
    {
    if (strOld == strNew)
    {
    return System.Drawing.Color.Black;
    }
    else
    {
    return System.Drawing.Color.Red;
    }
    }<ITEMTEMPLATE>
    <TABLE cellPadding="0" width="100%" border="0">
    <COLGROUP>
    <COL width="20%">
    <COL width="30%">
    <COL width="20%">
    <COL width="30%">
    </COLGROUP>
    <TR><TD>Last Name:</TD>
    <TD>
    <asp:Label ID=DepLast Runat=server text='<%# DataBinder.Eval(Container.DataItem, "DepLast") %>'>
    </asp:Label></TD>
    </TR>
    </TABLE>
    </ITEMTEMPLATE>
    修改一下,试试
      

  5.   

    http://www.putfly.com/show.aspx?id=161&cid=10这个可以解决你的问题