DataGrid中做一个模板列,之中放一个Image控件,它的ImageURL为字段b的数据。
试试看,也许能实现。

解决方案 »

  1.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    //It verifies if the archive exists 
    if (Upload.PostedFile != null)
    {
    //To create a PostedFile
    HttpPostedFile File = Upload.PostedFile; //Create byte Array with file len
    byte[] Data = new Byte[File.ContentLength];
    //force the control to load data in array
    File.InputStream.Read(Data,0,File.ContentLength);

    int i = 0; //Dysplay array data in textbox
    for (i=0;i<Data.Length;i++)
    {
    TextBox1.Text += Data[i].ToString();  
    } //Create procedure parameter
    object[] obj = new object[1];  obj[0] = Data; //Execute the procedure with Microsoft.ApplicationBlocks.Data
    //Simple procedure
    /*CREATE PROCEDURE sp_img(@img image)  AS insert into tb_img values(@img)*/ //record data
    SqlHelper.ExecuteNonQuery(connectionString,"sp_img",obj);      }
    } private void Button2_Click(object sender, System.EventArgs e)
    {
    //Bind data to your grid
    //more details consulting
    //Working DataGrid TemplateColumns and Bind this Columns 
    DataSet ds = SqlHelper.ExecuteDataset(connectionString,"sp_load_img",null);
    grid.DataSource  = ds.Tables[0].DefaultView;
    grid.ObjectName = "Image1";
    grid.FieldName = "img";
    grid.Editable = false;
    grid.DataBind();
    grid.DataBindObjects(grid,ds,0,grid.PageSize);   int i =0; for (i=0;i<ds.Tables[0].Rows.Count;i++)
    {
                            //test your bitmap is valid 
                            //Demonstration
    byte[] bits = (byte[]) ds.Tables[0].Rows[i]
    ["img"];  
    MemoryStream memorybits = new MemoryStream(bits);
    Bitmap bitmap = new Bitmap(memorybits);

    } private void grid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    //Page your grid
    //Bind data to your grid
    //more details consulting
    //Working DataGrid TemplateColumns and Bind this Columns 
    grid.CurrentPageIndex =e.NewPageIndex; 
    DataSet ds = SqlHelper.ExecuteDataset(connectionString,"sp_load_img",null);
    grid.DataSource  = ds.Tables[0].DefaultView;
    grid.ObjectName = "Image1";
    grid.FieldName = "img";
    grid.Editable = false;
    grid.DataBind();
    grid.DataBindObjects(grid,ds,e.NewPageIndex,grid.PageSize);  

    }
    }