这样改一下:
Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
'用SQL语句从后台表取数形成临时表
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection name = "数据源名称"
cmd.CommandText = "SELECT 产品编码,产品类别,产品系列,名称,规格,颜色,计量单位 From {产品编码}"
dt = cmd.ExecuteReader()
Tables(e.Form.name & "_Table1").DataSource = dt
DataTables(e.Form.name & "_Table1").DataTable.DataCols.Add("选择1", Gettype(Boolean))
Tables(e.Form.name & "_Table1").AllowEdit = True
Tables(e.Form.name & "_Table1").Cols("选择1").Move(0)
Tables(e.Form.name & "_Table1").AutoSizeCols()
tr.BuildTree(dt,"产品类别|产品系列")
tr.Nodes.Insert("显示所有",0) '插入顶端节点