vb.net - 如何在加载时使用条件设置 DataGridView Rows FontStyle?
问题描述
如何根据条件更改 DataGridView 的所有行的字体样式?
我的条件是if Cell Value Equal 0 then FontStyle = Strikeout otherwise Regular
Private Function DetailGridViewSetStyle()
Dim dgv As DataGridView = DetailDataGridView
Dim dgvInd As Integer = dgv.CurrentRow.Index
For cc As Integer = 0 To dgv.ColumnCount - 1
If dgv.Item(4, dgvInd).Value = 0 Then
dgv.DefaultCellStyle.Font = New Font("ARIAL", 8, FontStyle.Strikeout)
ElseIf dgv.Item(4, dgvInd).Value = 1 Then
dgv.DefaultCellStyle.Font = New Font("ARIAL", 8, FontStyle.Regular)
End If
Next
End Function
解决方案
- 仅在需要返回某些内容时才使用“功能”,这不是您的情况,请改用 Sub。
dgv.DefaultCellStyle.Font
将为所有数据网格设置字体样式,您需要从指定行设置字体样式,然后使用row.DefaultCellStyle.Font
如果我理解您的问题,这是您需要的代码:
Private Sub DetailGridViewSetStyle()
Dim dgv As DataGridView = DetailDataGridView
For Each row As DataGridViewRow In dgv.Rows
Dim Value As Boolean = CBool(row.Cells(4).Value)
If Value = False Then
row.DefaultCellStyle.Font = New Font("ARIAL", 8, FontStyle.Strikeout)
Else
row.DefaultCellStyle.Font = New Font("ARIAL", 8, FontStyle.Regular)
End If
Next
End Sub
推荐阅读
- sql - 无在职残疾用户的SQL查询
- apache-kafka - 消费者对主题分区的缓慢影响
- java - Java Swing:如何在另一个类中使用未命名的按钮?
- python - 使用 Pandas,我如何从一组列中找到最小/最大值和索引,满足相应列集的条件?
- tsql - 为什么我无法使用低权限用户创建索引
- javascript - React 在页面上显示 n 个元素并保持其余元素空闲
- java - 第二个多边形不会出现在图形中
- continuous-integration - Concourse 中 PUT 和 OUTPUT 步骤的区别
- javascript - 类型错误:react__WEBPACK_IMPORTED_MODULE_2___default(...) 不是函数。我该如何解决这个问题?
- snowflake-cloud-data-platform - 使用 Datediff 函数时出错