画像を 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;
}
var newColumn= new DataColumn(row[6].ToString(),typeof(Bitmap)); のような新しい列を作成して、できる限りのことを試みてきました。/画像に変換してそこに配置する/DataTableに追加する前に列のデータ型を変更する...しかし、うまくいかない.Properties.Resourcesから画像を取得してDataTableに配置する正しい方法が必要なだけです.グリッドにバインドされ、画像がグリッドビューに表示されます...
今、どんな助けも私にとって貴重です = D