希望有一个能做一个自定义的WebControl控件,可以和数据库"性别"字段关联,并能显示在DataGrid中.如数据库值为"男"则显示一个男孩图片,反之显示另一个图片.同时具备同步显示文字功能(显示"男"或"女")
但现在苦找不到相似的实例,只好求教各位大侠.有相似的例子(链接)同样有分.

解决方案 »

  1.   

    继承DataGrid,重写dadasource,render,ini等..
      

  2.   

    重要部分:
    public calss UltraImage:System.Web.UI.WebControls.Image
    {
    public string _sex;
    .....public string sex
    {
      get
       {
          return _sex;
       }
       set
       {
        _sex=value;
       }
    }private void UltraImage_Load(object sender,eventargs e)
    {
      if(_sex=="男")
       {
         this.imageurl="....";
       }
       else
      {
       .....
       }
    }
    }大体差不多把,不行再改改
      

  3.   

    这个我以前做过类似的,代码如下:
    1项目中添加一个web 自定义控件
    2把继承于System.Web.UI.WebControls.WebControl改为System.Web.UI.WebControls.Image
    3类中添加Sex属性
    private string _sex; public string Sex
    {
    get 
    {
    return _sex;
    }
    set 
    {
    _sex = value;
    }
    }
    4Render函数中加入
    if(_sex == "男")
    {
    this.ImageUrl = "http://www.csdn.net/Images/logo_csdn.gif";
    }
    else if(this._sex == "女")
    {
    this.ImageUrl = "http://zi.csdn.net/csdn-pub060905_2.gif";
    }
    base.Render(output);//这句很重要
    使用该控件时,先引用该控件的命名空间
    WebCustomControl1 myImage = new WebCustomControl1();
    myImage.Sex = "男";
    Page.Controls.Add(myImage);
    如果是在datagrid的cell中,可以在ItemDataBound使用e.Item.cells[i].Controls.Add(myImage);
      

  4.   

    看看MSDN里面有不少自定义的实例