如何获取 datagridview 单元格的 Style.BackColor
Posted
技术标签:
【中文标题】如何获取 datagridview 单元格的 Style.BackColor【英文标题】:How to get the Style.BackColor of a datagridview cell 【发布时间】:2014-07-13 17:32:56 【问题描述】:使用 VS2010 VB.NET,我有一个 datagridview (dgv),我根据某个值设置单元格的背景颜色。这个特定的单元格不存储任何信息,因此我不能使用该单元格中的数据来确定背景颜色。
我目前的尝试完全失败了,MSDN 只针对“设置”而不是“获取”单元格的背景颜色。
我试过的代码”
if dgvNotes.Rows(clickedCell.RowIndex).Cells(1).Style.BackColor.ToString = "Red" then
if dgvNotes.Rows(clickedCell.RowIndex).Cells(1).Style.BackColor = Color.Red then
我无法找到有关该主题的太多信息,因为各种编码网站上的大多数帖子都集中在“设置”背景颜色。
有什么方法可以在填充 dgv 后确定单元格背景颜色? 谢谢
【问题讨论】:
【参考方案1】:写入单元格点击事件
// using vb.net
System.Drawing.Color c = dgvNotes.Rows(e.RowIndex).Cells(1).Style.BackColor;
//using c#
System.Drawing.Color c = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor;
【讨论】:
感谢您的回复,这也是我一直在寻找的答案!!。我修改了代码,使其对 VB 更友好。Dim CellBkColor As System.Drawing.Color = dgvNotes.Rows(e.RowIndex).Cells(1).Style.BackColor MsgBox(CellBkColor.ToString)
【参考方案2】:
在点击事件中
if dgvNotes.Rows(clickedCell.RowIndex).Cells(1).Style.BackColor = Color.Red then
【讨论】:
【参考方案3】:这对我不起作用
我有这段代码用于设置单元格颜色和其他属性
public static void SetDgvHeader(DataGridView dgv,DataGridView clonedgv,string tarih,string[] dgv_Headers)
dgv.Rows.Clear();
dgv.ColumnCount = dgv_Headers.Length;
dgv.RowHeadersVisible = false;
int dayNbr = int.Parse(datenbr.txt);
dgv.Rows.Add(dayNbr);
for (int i = 0; i < dgv_Headers.Length; ++i)
if (i == 1 || i == 3 || i == 5)
dgv.Columns[i].Width = 20;
dgv.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
else
dgv.Columns[i].Width = 78;
clonedgv.Columns[i].Width = 78;
dgv.Columns[i].HeaderText = dgv_Headers[i];
dgv.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
dgv.Columns[i].ReadOnly = true;
for (int i = 0; i < dayNbr; ++i)
dgv.Rows[i].Height = 20;
for (int a = 0; a < dgv_Headers.Length; ++a)
dgv.Rows[i].Cells[a].Style.BackColor = Color.White;
dgv.Rows[i].Cells[a].Value = "";
dgv.Height = (dayNbr* dgv.Rows[0].Height) + 25;
dgv.AllowUserToAddRows = false;
当我评论我添加白色的行时,我得到了这个
如果我禁止评论斜线
我明白了
【讨论】:
以上是关于如何获取 datagridview 单元格的 Style.BackColor的主要内容,如果未能解决你的问题,请参考以下文章
如何获取与表连接绑定的 Row datagridview selectedItem 的每个单元格的值?