这是我在datagridview
单元格中设置值的代码:
For i = 0 To dvJOBranch.Rows.Count - 1
dvJOBranch.Rows(i).Cells.Item("XS").Value = 0
dvJOBranch.Rows(i).Cells.Item("S").Value = 0
dvJOBranch.Rows(i).Cells.Item("M").Value = 0
dvJOBranch.Rows(i).Cells.Item("L").Value = 0
dvJOBranch.Rows(i).Cells.Item("XL").Value = 0
Next
它在按钮事件中工作,显示表单事件,但不是表单加载,并且没有错误。
我的问题是为什么它在表单加载中不起作用?
答案 0 :(得分:3)
我的猜测是您正在使用DataGridView.AutoGenerateColumns
功能,即使您设置了DataSource
属性,DatagridView
也不会创建列,直到显示网格。
它可以解释为什么它不能在formload
中工作(网格尚未初始化)并且它可以用于(例如显示事件)。
所以有可能:
使用form_shown
可能是一种可能的解决方法,但我建议您使用DataGridView.DataBindingComplete
事件,该事件更专门用于处理这种情况。
另见这些相关问题(原因相同):