更改 DataGridView 按钮文本 windows 表单

Changing DataGridView button text windows form

我在里面有一个按钮 DataGridView 作为:

  var dgvButCol = new DataGridViewDisableButtonColumn()
            {
                Name = "btnSetContact",
                Text = "Set Contact",
                HeaderText = "Set",
                UseColumnTextForButtonValue = true
            };

如您所见,我有 UseColumnTextForButtonValue = true 因为我想在之后更改文本。为了改变它,我尝试:

  foreach (DataGridViewRow row in dgvDeliveryBreakdownDesignGroup.Rows)
            {
                bool.TryParse(row.Cells["HaveDeliveryContact"].Value.ToString(), out bool haveDeliveryContact);

                if (haveDeliveryContact || lblDeliveryContactName.Text == "None")
                {
                   
                    ((DataGridViewDisableButtonColumn)row.Cells["btnSetContact"]).Text = "gg";

                }

}

但是它抛出一个错误:

Cannot convert type 'System.Windows.Forms.DataGridViewCell' to 'MyProjectName.Controls.DataGridViewDisableButtonColumn'

我如何访问文本 属性 投射类似:DataGridViewDisableButtonCell(这没有文本 属性 但我可以 select 在 foreach 中行)

将按钮列的属性设置为UseColumnTextForButtonValue = false;在DataGridView中调整

foreach (DataGridViewRow row in dgvDeliveryBreakdownDesignGroup.Rows)
{
   DataGridViewButtonCell buttonCell = (DataGridViewButtonCell)row.Cells[0];
   buttonCell.Value = "button row " + row.Index;
}

按照此 link 设置 UseColumnTextForButtonValue