nba*_*aud 1 vb.net datagridview winforms
我的表单的加载事件中有一个方法可以绑定 datagridview。当绑定 datagridview 时,我修改了一些背景色行。
在我使用绑定之前Me.SuspendLayout()和完成时我使用Me.ResumeLayout.
当我的表单第一次加载时,所有行都使用defaultCellStyle. 但是,当我通过组合框上的事件重新加载它时,它按我的预期工作(某些行具有修改后的背景色)。我试图以编程方式更改我的组合框的 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
Run Code Online (Sandbox Code Playgroud)
我发现了一些关于相同问题的文章,似乎datagridview控件存在问题(在显示表单之前我们无法更改颜色单元格)。方法运行和事件被触发,但它们不会改变颜色。
为了解决我的问题,我放置了我的方法来为DataBindingComplete事件中的行着色。现在效果很好。
| 归档时间: |
|
| 查看次数: |
1029 次 |
| 最近记录: |