Grid已经设置好列信息,并在Form_Load中对响应的列实现了ColComboList的设置。
但在加载数据时发现了一个奇怪的问题,如果是使用循环游标通过AddItem的方法加载数据,下拉列表一切正常。但通过使用Set vsfgData.DataSource = rs的方式,数据加载后却无法得到下拉列表,双击单元格编辑时仅仅是把内容作为文本处理了。
原因:使用AddItem的方法,速度比较慢,1000条数据会加载好一会;使用DataSource的方式性能会有大幅提升,所以现在优化程序需要改为DataSource方式。
不知,有谁遇到同样问题,或者有解决方法的?以下是部分代码:
Private Sub Form_Load()
vsfgData.Rows = 1
vsfgData.ColComboList(vsfgData.ColIndex("Status")) = getDicList("STATUS")
vsfgData.ColComboList(vsfgData.ColIndex("Type")) = getDicList("TYPE")
vsfgData.ColComboList(vsfgData.ColIndex("Usage")) = getDicList("USAGE")
End Sub
Private Sub cmdLoad_Click()
SQL = "select * from product order by pid desc"
Set rs = New ADODB.Recordset
rs.Open SQL, conn, 1, 1
Set vsfgData.DataSource = rs
rs.close
set rs = Nothing
End Sub
以上getDicList函数生成格式为“AAA|BBB|CCC”的字符串,用以生成下拉列表内容。