private async void cbShowImages_CheckedChanged(object sender, EventArgs e) { if (cbShowImages.Checked) { if (CardEncodingItems != null) { if (CardEncodingItems.Count() > 0) { await Spinner.ShowSpinnerAsync(this, ShowImages()); } else { return; } } else { return; } } else { dgEncoding.Columns[dtlEntranceImage.Index].Visible = false; HideImage(); } }
private async Task ShowImages() { dgEncoding.Enabled = false; dgEncoding.Columns[dtlEntranceImage.Index].Visible = true; if (dgEncoding.Rows.Count > 0) { for (int i = 0; i <= dgEncoding.Rows.Count - 1; i++) { try { await Task.Run(() => { var item = CardEncodingItems.FirstOrDefault(a => a.Id.ToString() == dgEncoding[dtlId.Index, i].Value.ToString()); dgEncoding.Columns[dtlEntranceImage.Index].Width = 250; if (item.EntranceImage != null) { var entranceImage = ImageHelper.ConvertByteToImage(item.EntranceImage); var col = new DataGridViewImageCell(); col.Value = entranceImage; col.ImageLayout = DataGridViewImageCellLayout.Stretch; dgEncoding[dtlEntranceImage.Index, i] = col; dgEncoding.Rows[i].Height = 250; dgEncoding[dtlEntranceImage.Index, i].ReadOnly = true; } else { var col = new DataGridViewTextBoxCell(); col.Value = string.Empty; dgEncoding[dtlEntranceImage.Index, i] = col; dgEncoding.Rows[i].Height = 24; dgEncoding[dtlEntranceImage.Index, i].ReadOnly = true; } }); } catch (Exception) { } } } dgEncoding.Enabled = true; }