Es relativamente fácil tener una columna del tipo DataGridViewImageColumn
en algunas celdas.
Todo lo que necesita hacer es reemplazar una celda deseada con un DataGridViewTextBoxCell
.
Así, por ejemplo, si añado columna de la imagen de la siguiente para mi rejilla:
DataGridViewImageColumn imageColumn = new DataGridViewImageColumn();
imageColumn .Name = "ImageColumn";
imageColumn .HeaderText = "An Image!";
Image i = Image.FromFile(@"C:\Pictures\TestPicture.jpg");
imageColumn.Image = i;
dataGridView1.Columns.Add(imageColumn);
Puede reemplazar una célula dada con el texto como tal (en este caso en un controlador de botón, sino que también podría hacerlo en algún lugar como dentro de un controlador completo de enlace de datos).
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows[3].Cells["ImageColumn"] = new DataGridViewTextBoxCell();
dataGridView1.Rows[3].Cells["ImageColumn"].Value = "Some text!";
}
Esta solución deja un poco de trabajo para usted si usted quiere diversas imágenes (que necesita para unirse a una propiedad de tipo imagen) y si quieres un texto diferente. Como la propiedad Value de una columna de imagen es de tipo Image, no puede usar el mismo enlace.
Puede hacer su propia columna de imagen anulada que manejó esto, pero sería un poco de trabajo, que podría no pagar por sí mismo vs. simplemente establecer el valor de las celdas donde desea texto directamente.
publicar su margen de beneficio aspx aquí –
ref1c - ¿está confundiendo filas y columnas en su pregunta? Tener imágenes y texto en la misma fila (en diferentes columnas) es trivial, solo tiene una imagen y una columna de texto. Tener una columna con imágenes y texto es un poco más complicado. Estoy trabajando en una respuesta para eso ahora. –