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
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 ...
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
Si vous souhaitez définir le même texte pour tous les boutons, vous pouvez:
GridView
propriétés, cliquez sur modifier les colonnesText
sur le texte que vous souhaitez voir sur chaque boutonUserColumnTextForButtonValue
sur True
Voir ci-dessous:
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);
}
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";
Essayez l'exemple donné dans le lien ci-dessous. http://msdn.Microsoft.com/en-us/library/system.windows.forms.datagridviewbuttoncolumn.usecolumntextforbuttonvalue.aspx .
Essayer
yourDataGridView.Rows[rowIndex].Cells[columnIndex].Value
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.
vous recherchez DataGridViewCell.Value Property