C# Winforms DatagridView - 为不同的行设置不同的按钮颜色

标签 c# winforms datagridview datagridviewcolumn datagridviewcheckboxcell

编辑:尝试在 Winforms 中执行以下代码。

我正在从 xml 中获取数据,它们使用我创建的自定义类显示在 datagridview 中。我已将每一列链接到 DataPropertyName

我想在数据网格中显示数据 GridView 文本框、按钮列、复选框,如下图所示。

enter image description here

我正在使用以下事件来更改我添加的按钮的颜色。对于特定元素,假设我将 dt 绑定(bind)到单行网格,然后

if(dt.val=="true")
          {
// change the color of that button
          }

我正在使用以下代码。

 private void Grid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
DataGridViewColumn dt = Grid.Columns[9]; // 9 is column no

            foreach (DataGridViewRow r in Grid.Rows)
            { 
                if (newList[r.Index].val.ToString() == "true") //some condition
                {
                    r.DefaultCellStyle = red; // this turns compete row red

                   // add something here to make button red of this row 
                }
             else 
                {
                    r.DefaultCellStyle = green;
                   // add something here to make button red of this row 

                }


            }
}
  1. 我无法更改特定单元格按钮的颜色。
  2. 我如何在最后一行添加复选框,因为我已经添加了 DataGridViewCheckboxColumn 但默认情况下网格不显示任何列。

最佳答案

您可以像这样更改特定单元格的背景颜色:

r.Cells(9).Style.BackColor = Drawing.Color.Red

关于C# Winforms DatagridView - 为不同的行设置不同的按钮颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161260/

相关文章:

c++ - 如何从剪贴板粘贴文本?

winforms - 哈希表内的 WinForm

c# - 如何在 datagridview 中插入新的 datagridview 行并在数据库中(自动)更新?

vb.net - 如何捕获应用程序崩溃/异常退出?

c# - Wpf ItemContainerGenerator.ContainerFromItem 返回 null

c# - 基于语言的条件代码?

c# - Windows 上的应用程序以参数启动

.net - Datagridview 中的方形填充复选框

c# - 清除所有值并在 DataGridView 中再次加载它(刷新)

c# - 匹配时抓取一部分文本,去掉其余部分,因为它没用