Witam,
dodaję dane do datagridview w ten sposob:
DataGridViewImageColumn imageCol = new DataGridViewImageColumn();
DataGridViewCheckBoxColumn chkv = new DataGridViewCheckBoxColumn();
DataGridViewTextBoxColumn ctx = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn ctx2 = new DataGridViewTextBoxColumn();
if (dataset.Tables[0].Rows.Count > 0)
{
dgv.Columns.Add(imageCol);
dgv.Columns[0].Width = 210;
dgv.Columns[0].HeaderText = "Foto";
dgv.Columns.Add(chkv);
dgv.Columns[1].Width = 50;
dgv.Columns[1].HeaderText = "Główne";
dgv.Columns.Add(ctx);
dgv.Columns[2].Visible = false;
dgv.Columns.Add(ctx2);
dgv.Columns[3].Visible = false;
}
string defpath = Directory.GetCurrentDirectory() + @"\photo\small\";
for (int x = 0; x < dataset.Tables[0].Rows.Count; x++)
{
imgadd = new Bitmap(defpath + dataset.Tables[0].Rows[x][0].ToString().Trim());
int height = imgadd.Size.Height;
dgv.Rows.Add();
dgv.Rows[x].Cells[0].Value = imgadd;
dgv.Rows[x].Cells[1].Value = dataset.Tables[0].Rows[x][1].ToString().Trim();
dgv.Rows[x].Cells[2].Value = dataset.Tables[0].Rows[x][2].ToString().Trim();
dgv.Rows[x].Cells[3].Value = dataset.Tables[0].Rows[x][3].ToString().Trim();
dgv.Rows[x].Height = height + 5;
}
I teraz zaczyna się problem.
Zaznaczam którekolwiek zdjęcie i w ten sposób uruchamiam opcję kasowania pliku.
Ale niestety, nie mogę go usunąć, ponieważ dostaję komunikat, że plik jest używany przez inny proces. Domyśalm się, że chodzi o proces "imgadd", który to wczytuje zdjęcie. Ale jak go w takim razie usunąć ? imgadd.dispose() skasuje ostatnio wczytany plik, ale jak usunąć całą resztę wczytanych plików?