web-dev-qa-db-fra.com

C # DataGridViewButtonCell définir le texte des boutons

Je dois ajouter mon DataGridViewButtonCell à Column, et je dois me nommer avec des noms différents.

Mais je n'ai trouvé aucune propriété de texte.

Quelqu'un peut-il m'aider s'il-vous-plaît?

je fais ce genre de choses

DataGridViewButtonCell b = new DataGridViewButtonCell(); 
b.Value = "name"; 
MainTable.Rows.Add(b);

et ça ne marche pas

15
animekun

J'avoue que je ne comprends pas pourquoi votre méthode ne fonctionnerait pas, mais j'ai pu obtenir ce qui suit pour faire ce que vous vouliez comme solution de contournement:

        DataGridViewButtonCell b = new DataGridViewButtonCell();
        int rowIndex = MainTable.Rows.Add(b);
        MainTable.Rows[rowIndex].Cells[0].Value = "name";

Dans mon exemple, je suppose que vous n'avez qu'une seule colonne (un DataGridViewButtonColumn). Vous devriez pouvoir le modifier comme vous le souhaitez tant que vous définissez la valeur après vous ajoutez la ligne. Encore une fois, je ne sais pas pourquoi c'est le cas ...

6
VineAndBranches

Si vous voulez que tous les boutons aient le même texte, utilisez la propriété seColumnTextForButtonValue .

Si vous souhaitez un texte différent pour chaque bouton, utilisez la propriété DataGridViewCell.Value

40
Sriram Sakthivel

Si vous souhaitez définir le même texte pour tous les boutons, vous pouvez:

  1. Dans GridView propriétés, cliquez sur modifier les colonnes
  2. Cliquez sur la colonne de votre bouton
  3. Réglez Text sur le texte que vous souhaitez voir sur chaque bouton
  4. Définissez UserColumnTextForButtonValue sur True

Voir ci-dessous:

enter image description here

7
JustLearning

Je sais que votre réponse a été acceptée mais je l'ai ajoutée dans constructor et cela a fonctionné pour moi. La seule chose qui me manquait est UseColumnTextForButtonValue = true

public Form1() 
    {
        InitializeComponent();
        var editColumn = new DataGridViewButtonColumn
        {
            Text = "Edit",
            UseColumnTextForButtonValue = true,
            Name = "Edit",
            DataPropertyName = "Edit"
        };
        dataGridView1.Columns.Add(editColumn);
    }
6
Sabyasachi Mishra

Utilisez-le pour afficher le même texte sur tous les boutons avec le bouton par défaut au début

DataGridView.Columns["Buttons_Index"].DefaultCellStyle.NullValue = "name";
4
Jinwoo.Seo
1
mit

Essayer

yourDataGridView.Rows[rowIndex].Cells[columnIndex].Value
0
progpow

Si vous n'avez qu'une seule colonne et qu'il s'agit d'une colonne de boutons par défaut

MainTable.Rows.Add("Some text");

suffira.

0
Batu.Khan
0
Damith