Question

I need to add my DataGridViewButtonCell to Column, and I need to name each other with different names.

But I didn't find any text properties.

Can anyone help me, please?

i do that stuff

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

and it doesn't work

Était-ce utile?

La solution 3

I admit that I don't understand why your method wouldn't work, but I was able to get the following to do what you wanted as a work-around:

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

In my example I'm assuming you only have one column (a DataGridViewButtonColumn). You should be able to modify this however you like so long as you set the value after you add the row. Again, not sure why that's the case...

Autres conseils

If you want all the buttons to have same text use UseColumnTextForButtonValue property.

If you want different text for each button then use DataGridViewCell.Value property

If you want to set the same text for all buttons, you can:

  1. In GridView properties click on edit columns
  2. Click on your button column
  3. Set Text to the text you want to see on each button
  4. Set UserColumnTextForButtonValue to True

See below:

Edit Button Column

I know you got your answer accepted but I added these in constructor and it worked for me. The only thing I was missing is UseColumnTextForButtonValue = true

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

Use this to show the same text on all buttons with default button at first

DataGridView.Columns["Buttons_Index"].DefaultCellStyle.NullValue = "name";

Try

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

If you have just one column and that's a buttoncolumn by default

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

will suffice.

[Colimn.Name].Text = "Click Me"

[Colimn.Name].UseColumnTextForButtonValue = True

button_Text Use this code in Form_Load event-it will name all buttons in that column as "Click Me".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top