我需要添加我DataGridViewButtonCell的Column,我需要用不同的名字互相命名.
但我没有找到任何文字属性.
有人可以帮帮我吗?
我做那些事
DataGridViewButtonCell b = new DataGridViewButtonCell();
b.Value = "name";
MainTable.Rows.Add(b);
Run Code Online (Sandbox Code Playgroud)
它不起作用
c# datagridview datagridviewcolumn winforms datagridviewbuttoncolumn
我有一个DataGridView是前一个问题(链接)的主题.但有时按钮是null.这可以.但是如果它是null,有没有办法我可以选择删除/添加(显示/隐藏?)按钮到DataGridViewButtonColumn按钮
像这样:
+------------+------------+
| MyText | MyButton |
+------------+------------+
| "do this" | (Yes) |
| "do that" | (Yes) |
| FYI 'blah' | | <---- this is where I optionally want no button
| "do other" | (Yes) |
+------------+------------+
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的(基于此示例)
private void grdVerdict_CellFormat(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == grdChoice.Columns["yesbutton"].Index)
{
if (grdVerdict[e.ColumnIndex, e.RowIndex].Value == null)
{
//grdVerdict[e.ColumnIndex, e.RowIndex].Visible = false; //<-says 'it is read only' …Run Code Online (Sandbox Code Playgroud) 我已经搜索了很多关于这个问题的答案。这篇文章的答案:更改 DataGridView 单元格中按钮的颜色没有回答我的问题,因为它与字体有关。
我尝试了以下方法:
DataGridViewRow r = dataGridView.Rows[0];
r.Cells[1].Style.BackColor = Color.Red;
Run Code Online (Sandbox Code Playgroud)
我也试过:
DataGridViewButtonColumn btnCOl = new DataGridViewButtonColumn();
btnCOl.FlatStyle = FlatStyle.Popup;
DataGridViewRow r = dataGridView.Rows[0];
r.Cells[1].Style = new DataGridViewCellStyle { BackColor = Color.LightBlue };
Run Code Online (Sandbox Code Playgroud)
还是无济于事。
我还注释掉了这一行:
// Application.EnableVisualStyles();
Run Code Online (Sandbox Code Playgroud)
如果有人知道如何更改 DataGridViewButtonColumn 中单个按钮的背景颜色,请帮忙。
编辑: 我想为列中的单元格设置不同的颜色,例如有些是红色,有些是绿色。我不想为整列设置颜色。
我尝试使用“DataGridViewButtonColumn”属性进行练习。
但这里有一个奇怪的问题,我无法在第一列的按钮中显示文本。
截屏:

我尝试了不同的方法,但仍然不起作用。
这是我的代码片段。
谢谢^__^
private void Form1_Load(object sender, EventArgs e)
{
Demo d;
List<Demo> list = new List<Demo>();
for (int i = 0; i < 10; i++)
{
d = new Demo();
d.No = i.ToString();
d.Name = "A" + i;
list.Add(d);
}
foreach (Demo item in list)
dataGridView1.Rows.Add(item.No, item.Name);
}
public struct Demo
{
public string No { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)