private Image pGetImage(int indexRows, int indexField, int indexRow)
{
String key = "";
Image image = null;
String fileInTMP = "";
key = "k" + indexRows.ToString() + indexField.ToString() + indexRow.ToString();
if(m_images.ContainsKey(key))
{
image = m_images[key];
}
else
{
// we are optimistic. if I don't get a picture
// we return null but don't complaint
//
byte[] bytes = null;
// it looks ugly, don't you think?
//
// maybe this help a litle:
//
// m_vCollRows(IndexRows) a matrix with the data
// contained in the datasource
// referd by this control
//
// (IndexField, IndexRow) a cell in this matrix
//
object value = m_collRows[indexRows].Rows[indexRow][indexField];
bytes = (byte[])value;
fileInTMP = pGetFileImageInTMP(bytes);
if (fileInTMP != "")
{
try
{
var tmpImage = Image.FromFile(fileInTMP);
image = new Bitmap(tmpImage);
tmpImage.Dispose();
m_images.Add(key, image);
}
catch
{
// we don't care
}
}
}
return image;
}