本人刚开始学.net的,对datagrid不是熟悉,我把数据库里面的数据绑定到datagrid后,是一个表格,我想让每一行数据(分布在一个td里面)都加上背景图片,请教一下,该怎么控制?还有一个,如果我想再多做一个判断,检测到改数据是新添加的,就是有的数据旁边加一个new的提示图片,如果不是新添加的,就不加图片,在datagrid里面又改怎么控制???

解决方案 »

  1.   

    控制图片<asp:DataGrid ID="aspnet" Width="100%" ShowFooter="False" AutoGenerateColumns="False" Runat="server"
    ShowHeader="False" GridLines="None">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <a href='ShowDetail.aspx?id=<%#DataBinder.Eval(Container.DataItem,"objectGuid")%>' target="_blank">
    <%#DataBinder.Eval(Container.DataItem,"Title")%>
    </a>
    <%#ShowNewPic((System.DateTime)DataBinder.Eval(Container.DataItem,"CreateDate"))%>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>public string ShowNewPic(DateTime s)
      {
       if (s.AddDays(7) > DateTime.Now)
        return "<img src='images/new.gif' align='absmiddle'>";
       else
        return "";  }
      

  2.   

    添加背景可以在事件里做 private void topten_ItemDataBound(object sender ,System.Web.UI.WebControls.DataGridItemEventArgs e)
      {
       if( e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
       {
        e.Item.Cells[0].Attributes.Add("style", "background:url('xxx.gif')");
        }
      }
      

  3.   

    基本上可以在itemdatabound事件里面来做
    if(e.item.itemindex>=0)
    {
    System.Web.UI.WebControls.Image mynew = (System.Web.UI.WebControls.Image)e.Item.Cells[5].FindControl("imageid");

       e.item.BackColor = Color.red;
       string flag = e.item.cells[i].text;
       System.
       if(flag == "1")
         mynew.Visible = true;
       else
         mynew.Visible = false;
    }
      

  4.   

    先添加一个模板列
    图片可以在DataGrid的ItemDataBound里实现
      

  5.   

    //****使用模版列可以实现哈//****在后台写一个函数进行判断,如果是新增的数据,则显示一个图片,如果此条数据被别人看了,显示另外一张图片.public string DispalyImage(string strTemp)
    {
       string strApp="";
       switch(strTemp)
       {
          case "1":
             strApp="images/new.gif";
             break; 
          case "1":
             strApp="images/see.gif";
             break; 
          default:
             strApp="images/default.gif";
             break;
       }
       return strApp;
       
    }//****在前台邦定
    <img src='<%#DispalyImage(DataBinder.Eval(Container.DataItem,"ImageState").ToString())%> border='0' align='absmiddle'/>
      

  6.   

    都是Datagrid的牛人,標記一下
      

  7.   

    net_lover(【孟子E章】) 强人啊!