Как установить изображение в ячейку сетки данных после привязки данных? - PullRequest
5 голосов
/ 04 мая 2011

У меня проблема с добавлением изображения в ячейку DGV после привязки данных.

это мой код:

                DataTable tab = conn.searchData(searchTmp);
              bindingSource1.DataSource = tab;
              DGV.AllowUserToAddRows = false;

              DGV.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);                
              //dont show this colls
              DGV.Columns["zId"].Visible = false;
              DGV.Columns["tId"].Visible = false;
              DGV.Columns["tId2"].Visible = false;

              DataGridViewImageColumn co = new DataGridViewImageColumn();
              System.Reflection.Assembly thisExe;
              thisExe = System.Reflection.Assembly.GetExecutingAssembly();
              System.IO.Stream file = thisExe.GetManifestResourceStream("MyApp.Resources.Tx1[k].gif");
              System.IO.Stream file2 = thisExe.GetManifestResourceStream("MyApp.Resources.Tx2[k].gif");

// и другое для всего столбца - первая серая строка

              Bitmap bmp = new Bitmap(file);
              co.Image = bmp;

              DataGridViewImageColumn img = new DataGridViewImageColumn();
              Image image = bmp;
              img.Image = image;
              DGV.Columns.Add(img);
              img.HeaderText = "Image";
              img.Name = "img";

Таблица данных является результатом из баз данных, Во-первых, у меня есть выражение TeX - я хочу сгенерировать изображения для этого выражения с помощью «MimeTex.dll», я знаю, как это сделать, но я не знаю, как заменить это выражение TeX на изображение,
на экране мой сырой DGV, без картинок.

в последних шести строках у меня есть часть кода для добавления нового столбца, потому что я тестировал и пытался заменить текст столбцов первой строки (строка заголовка) статическими изображениями из ресурса приложений ...

Есть идеи? ТИА экран: http://www.freeimagehosting.net/image.php?66fe2964fe.jpg

1 Ответ

12 голосов
/ 09 мая 2011
  DataGridViewImageColumn ic= new DataGridViewImageColumn();
  ic.HeaderText = "Img";
  ic.Image = null;
  ic.Name = "cImg";
  ic.Width = 100;
  DGV.Columns.Add(ic);


  foreach (DataGridViewRow row in DGV.Rows)
  {
    DataGridViewImageCell cell = row.Cells[1] as DataGridViewImageCell;
    cell.Value = (System.Drawing.Image)Properties.Resources.Icon_delete;
  }
...