尽管UseColumnTextForButtonText设置为true

时间:2015-05-15 10:10:15

标签: c# .net winforms .net-4.5

我已经向DataGridView添加了一个按钮列,并希望显示文本"比较"在上面。我已将Text属性设置为Compare并将UseColumnTextForButtonValue设置为True,但不显示任何文字:

Properties set, no text visible

在运行时也是如此,因此它不仅不在设计器中显示:

No text at runtime either

如何显示文字?

编辑:为了繁荣,这里是生成的Designer.cs文件中的代码。我自己还没有将任何代码添加到此表单中,因此没有机会将某些内容重新设置为更快。

// 
// Compare
// 
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Compare.DefaultCellStyle = dataGridViewCellStyle1;
this.Compare.HeaderText = "Compare";
this.Compare.Name = "Compare";
this.Compare.Text = "Compare";
this.Compare.ToolTipText = "Compare the dictionary definition to the system definition";
this.Compare.UseColumnTextForButtonValue = true;

4 个答案:

答案 0 :(得分:5)

DataGridViewButtonColumn不显示最后一行按钮中的文本。由于在您的示例中您只显示一行,因此未显示。添加更多行,文本将显示在除最后一行之外的所有行中。

答案 1 :(得分:1)

您可以设置“ UseColumnTextForButtonValue”,文本也将在最后一行显示。

答案 2 :(得分:0)

Kif得到了正确答案:

  

DataGridViewButtonColumn不显示按钮上的文本   最后一排。添加更多行,文本将显示在所有行中   最后一行。

但如果您想要显示所需的文本(包括最后一行),您只需实现事件处理程序CellValueChanged并设置单元格值如下:

_yourDataGridView[Compare.Name, rowIndex].Value = "Compire";

答案 3 :(得分:0)

尽管存在相同的问题,但提供的答案要么不符合我的要求(添加更多行,而最后一行仍不显示按钮文本),要么工作不正常({{1}中的行索引) }事件必须> = 0)。 我还想通过CellValueChanged属性功能来适应这种行为。
为此,datagridview的AllowUserToAddRows事件也需要进行一些调整。
这对我有用:
RowsAdded设置为UseColumnTextForButtonValue(对于每个DataGridViewButtonColumn)并设置其文本。

true