gpt4 book ai didi

vb.net - Datagridview 背景颜色在第一次加载时不起作用

转载 作者:行者123 更新时间:2023-12-02 17:19:29 25 4
gpt4 key购买 nike

我在表单的加载事件中有一个绑定(bind)数据 GridView 的方法。绑定(bind) datagridview 时,我修改了一些 backcolor 行。

在绑定(bind)之前,我使用 Me.SuspendLayout(),当绑定(bind)完成时,我使用 Me.ResumeLayout

当我的表单第一次加载时,所有行都使用 defaultCellStyle。但是,当我通过组合框上的事件重新加载它时,它会按预期工作(某些行具有修改后的背景色)。我试图以编程方式更改 comboBox 的 selectedIndex,但它也不起作用。

我试图删除布局方法,但它也不起作用。有人可以给我建议吗?

顺便说一下,我正在使用 VB.NET (Visual Studio 2010) 进行开发。

编辑:

Private Sub frm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.SuspendLayout()
loadDTGV()
Me.ResumeLayout()
myCombo.SelectedIndex = 1
End Sub


Private Sub loadDTGV()
Dim dtBindSource As New BindingSource()

Dim lst As SortedBindingList.SortedBindingList(Of myClass)
lst = _DAO.getData()
dtBindSource.DataSource = lst
dtgv.DataSource = dtBindSource

If dtgv.Rows.Count > 0 Then
colorRows()
End If
End Sub


Private Sub colorRows()
Dim grayStyle As New DataGridViewCellStyle
grayStyle.BackColor = Color.LightGray

For i = 0 To dtg.Rows.Count - 1
If dtg.Rows(i).Cells(0).Value = "TEST" Then
dtg.Rows(i).DefaultCellStyle = grayStyle
End If
Next
End Sub


Public Sub changeIndex() Handles myCMB.SelectedIndexChanged
loadDTGV()
End Sub

最佳答案

我发现了一些关于相同问题的文章,似乎 datagridview 控件存在问题(在显示表单之前我们无法更改颜色单元格)。方法运行并触发事件,但它们不会改变颜色。

为了解决我的问题,我在 DataBindingComplete 事件中放置了我的方法来为行着色。现在效果很好。

关于vb.net - Datagridview 背景颜色在第一次加载时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44049291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com