设置datagridview背景色?

时间:2021-10-12 13:10:11
怎样根据datagridview单元格的值来设置datagridview背景色?
例如数值为负数的单元格背景色为红色

10 个解决方案

#2


C/S还是B/S ?
C/S的话,重画一些单元格
B/S的话,ItemBind事件里给Cell加上Style

#3


是根据具体的单元值来设置当前格的背景颜色
datagridview
例如: 某一列,数值为正单元格的背景色设为蓝色
               数值为负单元格的背景色设为红色

C/S结构,能否具体代码? 谢谢!

#4


代码来自 http://bingning.net/free/source/datagridview/alternatingrows.html

'CellFormatting事件处理器
 Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
         ByVal e As DataGridViewCellFormattingEventArgs) _
         Handles DataGridView1.CellFormatting
     Dim dgv As DataGridView = CType(sender, DataGridView)

     '确认单元格的列
     If dgv.Columns(e.ColumnIndex).Name = "Column1" AndAlso _
             TypeOf e.Value Is Integer Then
         Dim val As Integer = CInt(e.Value)
         '根据单元格的值,变更背景色
         If val < 0 Then
             e.CellStyle.BackColor = Color.Red
         Else 
             e.CellStyle.BackColor = Color.Blue
         End If
     End If
 End Sub

#5


学习

#6


OK!

DataGridViewpus.Item(i, j).Style.BackColor = Color.Red

还有个问题,输出EXCEL的时候背景色没有了,怎样设置才能把背景色也一起输出呢?

#7


DataGridView1_CellFormatting 事件里写啊

#8


学习

#9


private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if(e.RowIndex != -1 && e.ColumnIndex == 1 && e.Value != null && e.Value.ToString() == "")
            {
                e.CellStyle.BackColor = Color.Red;
                e.CellStyle.ForeColor = Color.Blue;
                e.CellStyle.SelectionBackColor = Color.BlueViolet;
            }
        }
按照流导出
或导出excel设置单元格格式
  Microsoft.Office.Interop.Excel.Range myRange22 = myWorkSheet.get_Range("B2","B2");
            myRange22.Font.Bold = true;
            myRange22.Font.Size ="20";
参考

            

#10


该回复于2011-01-07 16:15:26被版主删除

#1


#2


C/S还是B/S ?
C/S的话,重画一些单元格
B/S的话,ItemBind事件里给Cell加上Style

#3


是根据具体的单元值来设置当前格的背景颜色
datagridview
例如: 某一列,数值为正单元格的背景色设为蓝色
               数值为负单元格的背景色设为红色

C/S结构,能否具体代码? 谢谢!

#4


代码来自 http://bingning.net/free/source/datagridview/alternatingrows.html

'CellFormatting事件处理器
 Private Sub DataGridView1_CellFormatting(ByVal sender As Object, _
         ByVal e As DataGridViewCellFormattingEventArgs) _
         Handles DataGridView1.CellFormatting
     Dim dgv As DataGridView = CType(sender, DataGridView)

     '确认单元格的列
     If dgv.Columns(e.ColumnIndex).Name = "Column1" AndAlso _
             TypeOf e.Value Is Integer Then
         Dim val As Integer = CInt(e.Value)
         '根据单元格的值,变更背景色
         If val < 0 Then
             e.CellStyle.BackColor = Color.Red
         Else 
             e.CellStyle.BackColor = Color.Blue
         End If
     End If
 End Sub

#5


学习

#6


OK!

DataGridViewpus.Item(i, j).Style.BackColor = Color.Red

还有个问题,输出EXCEL的时候背景色没有了,怎样设置才能把背景色也一起输出呢?

#7


DataGridView1_CellFormatting 事件里写啊

#8


学习

#9


private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if(e.RowIndex != -1 && e.ColumnIndex == 1 && e.Value != null && e.Value.ToString() == "")
            {
                e.CellStyle.BackColor = Color.Red;
                e.CellStyle.ForeColor = Color.Blue;
                e.CellStyle.SelectionBackColor = Color.BlueViolet;
            }
        }
按照流导出
或导出excel设置单元格格式
  Microsoft.Office.Interop.Excel.Range myRange22 = myWorkSheet.get_Range("B2","B2");
            myRange22.Font.Bold = true;
            myRange22.Font.Size ="20";
参考

            

#10


该回复于2011-01-07 16:15:26被版主删除