2013-07-03 19 views
0

我在将图像放入DataTable中并将此表格设置为datasource到gridview时遇到了问题,我已到处搜索,但没有我没有运气。 这里的问题是:将图像放入DataTable并将表格设置为数据源到gridview

private void populateGrid() 
    { 
     // Gets a datatable from a stored procedure 
     DataTable ragTable = ProjetoBO.HistoricoRAGStatusProjeto(Convert.ToInt32(Session["idProjeto"])); 

     int group= -1; 

     int cont = 1; 

     var table = GetDataTable(ragTable); 

     DataRow dataRow = table.NewRow(); 

     foreach (DataRow row in ragTable.Rows) 
     { 
      cont++; 
      if (Convert.ToInt32(row[9]) != group) 
      { 
       cont = 1; 
       group= Convert.ToInt32(row[9]); 
       table.Rows.Add(dataRow); 
       dataRow = tabelaFinal.NewRow(); 
      } 
      dataRow[0] = DateTime.Parse(row[2].ToString()).ToShortDateString(); 

      //putting some random image just for testing purpose 
      dataRow[cont] = Properties.Resources.myIcon; 

     } 
     //my grid 
     histRagStatus.DataSource = table ; 
     histRagStatus.DataBind(); 
    } 
    //Creates a dataTable with the columns I need 
    private DataTable GetDataTable(DataTable ragTable) 
    { 
     var newTable= new DataTable(); 

     newTable.Columns.Add("Date"); 

     foreach (DataRow row in ragTable.Rows) 
     { 
      if (!newTable.Columns.Cast<DataColumn>().Any(column => column.ColumnName.Equals(row[6].ToString()))) 
      { 
       var newColumn= new DataColumn(row[6].ToString()); 
       newTable.Columns.Add(newColumn); 
      } 
     } 
     return newTable; 
    } 

我一直在努力尽我所能,创造一个像变种newColumn新列=新的DataColumn(行[6]的ToString()的typeof(位图)); /转换为图像并在添加到DataTable之前放置/更改列的数据类型...但是没有运气......我只需要从Properties.Resources获取图像并将其放置在DataTable上的正确方法,将绑定到网格,图像会出现在GridView上...

任何帮助是宝贵的我现在= d

+0

如何发送图像数据?一个字节数组? –

+0

它是作为位图发送的 –

回答

1

我不知道的方法的原生渲染图像文件(包括BMP)在GridView中。

就你而言,我要做的是将该位图保存在虚拟目录中的本地文件中。获得文件名后,可以将该文件名绑定到GridView中的ImageField列。

+0

但是我的所有列都是动态创建的,所以我的gridview没有列标记来放置图像字段,它是空的,就像这样。我将所有内容添加到DataTable中,然后将其绑定到网格上...有没有方法在数据表中添加图像字段? –

+0

您是否有Windows开发背景?这是WinForms和WebForms的不同之处。你只能绑定一个GridView来图像URL,而不是图像本身。 –

+0

嗯,我已经尝试把图像url(这是一个本地url到我的计算机上的目录)也在数据表行中,但它使相同的效果,它把字符串url和没有图像...什么是我做错了? –

相关问题