7
votes

DataGridView Colonne de bouton image de l'image

Je veux ajouter un bouton Image dans la colonne DataGridViews. J'ai ajouté le DataGridView avec DataGridViewButtonColumn Mais je ne donne pas l'image à cela. Je souhaite ajouter une image avec le bouton de la colonne DataGridViews et lorsque vous cliquez sur cette touche DataGridView Row Row Modifier ou supprimer. S'il vous plaît comment puis-je faire ça!


5 Réponses :


0
votes

Vous pouvez utiliser Personnaliser la classe DataGridViewImage qui incitent de DataGridViewImageButtonCell Class comme ci-dessous

public class DataGridViewImageButtonDeleteCell : DataGridViewImageButtonCell
{
    public override void LoadImages()
    {
       // Load them from a resource file, local file, hex string, etc.          
    }
}


0 commentaires

3
votes

Bien que DataGridView a ButtonColumn Il ne fournit pas directement à afficher des images.

Le lien suivant peut vous guider pas à pas pour atteindre votre tâche:

DataGridView image bouton de bouton de l'image

J'espère que cela vous aide ...


1 commentaires

Je sais que cette réponse est ancienne mais le lien n'est plus actif. C'est pourquoi les réponses généralement invoquées sont encouragées à inclure des exemples de travail plutôt que de simplement des liens.



0
votes

Créez simplement de la colonne d'image DataTable et ajoutez une image à elle

dtmain.columns.Ajoud ("ImageColumn", typeof (image)); p>

dtmain.rows.add (image.fromfile (photopathe + "1.jpg")); p>

puis sur l'événement DataGridViewMain_cellcontentClick Écrivez le code suivant P>

  if (e.ColumnIndex == dataGridViewMain.Columns["ImageColumn"].Index)
  {
  lblShowCellData.Text = dataGridViewMain.Rows[e.RowIndex].Cells["CustomerName"].Value.ToString();
  // Do some thing else....
  }


1 commentaires

C'est quelque chose que je n'encouragerais pas à faire. Pourquoi? Parce que vous ajoutez des choses aux données (!) Qui n'appartiennent pas là. Vous modifiez réellement les données pour changer la vue.



-4
votes

Il est possible de fournir HTML dans la propriété textuelle d'ASP: ButtonColumn. Donc, vous pouvez réellement faire quelque chose comme ceci:

<td>
  <a href="...">
    <img src='icons/delete.gif' border='0' title='Delete entry' />
  </a>
</td>


2 commentaires

DataGridView est sur Desktop pas ASP.NET, votre réponse n'est pas valide


Vous avez raison. J'espère que ce sera utile pour quelqu'un qui utilise ASP.NET Néanmoins. J'ai trouvé cette page via Google lors de la recherche d'une solution à l'aide de ASP.NET.



7
votes

Une façon d'être réalisée est de remplacer la méthode de la peinture de DataGridViewButtonCell et d'appeler le paramètre graphique. L'appel doit se produire après fort> appel de base.

dgvBookings.Columns.Add(new DeleteColumn());


0 commentaires