• 在DataGrid中显示图片


          DadaGrid   是   ASP.NET   编程中一个很重要的控件,其优良的可定制功能为提高它的表现力提供了极大的方便。除了与数据源直接绑定以外,我们还可以通过列绑定模板对   DataGrid   的列进行自定义,来按照我们设定的格式显示数据。
    例如,数据表中有一个字段f_DemoImage用来存放图片的路径(包括图片文件名),为了在DataGrid的Cell中显示实际的图片,我们可以定义一个模板列,然后给该列赋予字段f_DemoImage的值,就可以在DataGrid的Cell中显示图片。  
       
      WebForm1.aspx   文件:  
      <%@   Page   language="c#"   Codebehind="Wizard_select_template.aspx.cs"   AutoEventWireup="false"   Inherits="WebHatcher.WebForm1"   %>  
      <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >  
      <HTML>  
          <HEAD>  
      <title>WebForm1</title>  
      <meta   content="Microsoft   Visual   Studio   .NET   7.1"   name=GENERATOR>  
      <meta   content=C#   name=CODE_LANGUAGE>  
      <meta   content=javascript   name=vs_defaultClientScript>  
      <meta   content=http://schemas.microsoft.com/intellisense/ie5   name=vs_targetSchema>  
      <LINK   href="./styles/style.css"   type=text/css   rel=stylesheet   >  
      </HEAD>  
       
      <body   MS_POSITIONING="GridLayout">  
      <form   id=Form1   method=post   runat="server">  
       
      <asp:datagrid   id=DataGrid1   runat="server"   AutoGenerateColumns="False"   Width="744px">  
      <Columns>  
          <asp:TemplateColumn>  
              <ItemTemplate>  
                  <asp:Image   id="Image1"   ImageUrl='<%   #DataBinder.Eval(Container,"DataItem.f_DemoImage")   %>'   runat="server"></asp:Image>  
              </ItemTemplate>  
          </asp:TemplateColumn>  
      </Columns>  
      </asp:datagrid>  
       
      </form>  
      </body>  
      </HTML>  
       
      ///WebForm1.aspx.cs   文件:  
      using   System;  
      using   System.Collections;  
      using   System.ComponentModel;  
      using   System.Data;  
      using   System.Drawing;  
      using   System.Web;  
      using   System.Web.SessionState;  
      using   System.Web.UI;  
      using   System.Web.UI.WebControls;  
      using   System.Web.UI.HtmlControls;  
      using   myDBAccess;   //我的命名空间  
       
      namespace   WebHatcher  
      {  
      ///   <summary>  
      ///   WebForm1   的摘要说明。  
      ///   </summary>  
      public   class   WebForm1   :   System.Web.UI.Page  
      {  
      protected   System.Web.UI.WebControls.DataGrid   DataGrid1;  
       
      private   void   Page_Load(object   sender,   System.EventArgs   e)  
      {  
      //   在此处放置用户代码以初始化页面  
          if   (Page.IsPostBack)  
          {   }  
          else  
          {  
          //   在   DataGrid   中显示数据(包括图象):  
          myTableAccess   oDbTable   =   new   myTableAccess();   //myTableAccess我是定义的数据库访问类  
          oDbTable.sDbPath   =   Server.MapPath("./webhatcher.mdb");  
          oDbTable.sPassword   =   "";  
          oDbTable.sSQL   =   "select   *   from   tabTemplate";     //tabTemplate是包含   f_DemoImage   字段的数据表  
          DataGrid1.DataSource   =   oDbTable.ReadFromTable();  
          DataGrid1.DataBind();  
          }  
      }  
       
      #region   Web   窗体设计器生成的代码  
      override   protected   void   OnInit(EventArgs   e)  
      {  
      //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
      InitializeComponent();  
      base.OnInit(e);  
      }  
           
      ///   <summary>  
      ///   设计器支持所需的方法   -   不要使用代码编辑器修改此方法的内容。  
      ///   </summary>  
      private   void   InitializeComponent()  
      {  
      this.Load   +=   new   System.EventHandler(this.Page_Load);  
      }  
      #endregion  
      }  
      }  
       
      //数据访问类的定义:  
      using   System;  
      using   System.Data;  
      using   System.Data.OleDb;  
       
      namespace   myDBAccess  
      {  
              ///   数据库存取   namespace:  
              ///   类名:myTableAccess  
      ///   属性:  
      ///   sDbPath        数据库路径(包括数据库文件名)  
      ///     sPassword    数据库口令  
      ///     sSQL    SQL   语句  
       
      public   class   myTableAccess  
      {  
          //声明   3   个属性(域):  
          public   string   sDbPath   =   "";  
          public   string   sPassword   =   "";  
          public   string   sSQL   =   "";  
       
          private   OleDbConnection   oConn;  
       
          public   void   OpenDB()  
          {  
          oConn   =   new   OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   sDbPath   +   ";Password="   +   sPassword   +   ";");  
          oConn.Open();  
          }  
       
          public   void   CloseDB()  
          {oConn.Close();   }  
       
          public   DataView   ReadFromTable()  
          {  
          OpenDB();  
          OleDbDataAdapter   oAdp   =   new   OleDbDataAdapter(sSQL,   oConn);  
          DataSet   oDtSt   =   new   DataSet();  
          oAdp.Fill(oDtSt,   "aTable");  
          CloseDB();  
          return   oDtSt.Tables["aTable"].DefaultView;     //返回默认视图  
          }  
       
      }  
      }  

  • 相关阅读:
    DBGrid的字体颜色用户自定义之模拟条件的判断(近似的实现,都是测试代码)
    DBGrid的字体颜色用户自定义之模拟条件的判断(ANDOR的优先级问题)
    Delphi中由控件坐标模拟点击控件
    Delphi中由句柄返回控件FindControl
    Qt4 QWebView的使用例子
    使用QtScript库解析Json数组例子
    将某个Qt4项目升级到Qt5遇到的问题
    Vim多窗口编辑
    Ubuntu12.04下删除文件夹内所有的.svn文件
    Putty远程登录VMware虚拟机Linux(Ubuntu12.04)
  • 原文地址:https://www.cnblogs.com/xiaoshi/p/913617.html
Copyright © 2020-2023  润新知