2010-04-20 4 views
1

J'essaye de faire un simple bouton 'Delete Row' dans un DataGridView que j'ai, mais le problème est que je voudrais que ce soit un ImageButton plutôt qu'un simple bouton.Ajouter ImageBut à DataGridView en C#

Actuellement, je l'ai configuré pour être un ButtonColumn, mais je n'ai vu aucune possibilité de le changer d'un simple bouton avec du texte à un bouton avec une image dessus.

Je sais que c'est possible et je l'espère relativement simple, mais je ne sais pas comment s'y prendre.

EDIT

Désolé, je dois préciser. Ceci est une application autonome en C# droit ... Je n'ai pas accès aux types de formulaire ASP.

Répondre

1

Si vous êtes prêt à aller juste pour une image cliquable par opposition à un ImageButton, il y a une solution assez simple.

Ajoutez un ImageColumn à votre dgView, définissez son "NullValue" comme étant un X rouge ou ce que vous voulez qu'il soit. Cela garantira que toutes les lignes auront toujours l'affichage X sans travail supplémentaire.

Après cela, vous allez vouloir ajouter un événement « CellContentClick » pour capturer l'utilisateur en cliquant effectivement sur le X.

l'intérieur de l'événement, cliquez cellcontent, vous pouvez vérifier si

//check if your clicking on a cell inside the imagecolumn column 
if(e.ColumnIndex == this.colImageColumn.index && e.RowIndex > 0) 
    //Delete Row e.RowIndex 
1
<asp:buttonfield ButtonType="Image" ImageUrl="/images/edit.gif" commandname="ibtnEdit" HeaderText=" " /> 
+0

s'il vous plaît voir modifier – espais

+0

Opps! Je pense que c'est asp.net. Pardon. –

-1

Vous pouvez utiliser un champ modèle dans GridView. Tout comme ceci:

<asp:TemplateField HeaderText="Delete"> 
    <ItemTemplate> 
    <asp:ImageButton ID="imgBtnDelete" runat="server" OnClick="imgBtnDelete_Click" ImageUrl="~/media/Delete.gif"> 
    </asp:ImageButton> 
    </ItemTemplate> 
</asp:TemplateField> 
+0

s'il vous plaît voir modifier – espais

0

Lors de l'événement dataGridViewMain_CellContentClick écrire du code ci-dessous

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

télécharger le code source complet à http://tablegridview.blogspot.in

Questions connexes