这是我的Gridview中的一个链接字段列。
               <asp:HyperLinkField DataNavigateUrlFields="id" ControlStyle-ForeColor="blue"
                    DataNavigateUrlFormatString='viewdetails.aspx?id={0}' DataTextField="title" 
                    HeaderText="主题" Target="_blank">
                </asp:HyperLinkField>但是我其它有一列是“状态”列的值不同。当状态="Yes"时,则要求此链接字段列的值颜色变为绿色, 而当状态="No"时,则要求此链接字段列的值文字颜色变为红色,
请教怎么做才好呢?  谢谢!

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-05-24 21:46:18 编辑
      

  2.   

    给你简单写了一个! 是不是这个意思??//改变gridview 列的颜色
    public void Particular()
    {
    for (int i = 0; i < this.grv_PD.Rows.Count;i++)
    {
    string st=Convert.ToString(this.grv_PD.Rows[i].Cells[13].Text);//需要判断的列
    if (st =="Yes")
    {
    grv_PD.Rows[i].Cells[15].BackColor = System.Drawing.Color.Yellow;//需要改变颜色的列
    }
    else
    {
    ..
    ...
    }
    }
    }
      

  3.   


    我没有用<a href =...> 请问我:
     <asp:HyperLinkField DataNavigateUrlFields="id" ControlStyle-ForeColor="blue"
      DataNavigateUrlFormatString='viewdetails.aspx?id={0}' DataTextField="title"  
      HeaderText="主题" Target="_blank">
      </asp:HyperLinkField>在这里应如何改呢? 请再指点,谢谢!
      

  4.   


    请教,这个Particular 如何被调用,在哪个地方写? 望指点,谢谢!
      

  5.   

    本帖最后由 net_lover 于 2012-05-24 22:00:08 编辑
      

  6.   


    如果我的不是链接字段值,我是可以搞定的。,问题的关键关键是一个链接字段列!!! 它不听 RodDataRound中的颜色设置使唤的。愁死人了~~~
      

  7.   

    那就写一个函数,可以处理N种情况<a href='viewdetails.aspx?id=<%#Eval("id")%>' Target="_blank" style='color:<%# GetColor(Eval("状态字段").ToString())%>'><%#Eval("title")%></A>public String GetColor(String s)
    {
     if(s=="Yes") return "green";
     else if(s=="No") return "red";
     else
     return "#000000";
    }
      

  8.   

    本帖最后由 net_lover 于 2012-05-24 22:28:00 编辑