发现一个新问题:设置列编辑格式按钮的代码如下:
Dim t As Table = e.Form.Controls("Table1").Table
If t.Current Is Nothing Then Return
If t.Current.IsNull("glCol") = False Then
If CurTbl.cols.Contains(t.Current("glCol")) Then
If CurTbl.cols(t.Current("glCol")).DataMap IsNot Nothing Then
t.Cols("glValue").DataMap = CurTbl.cols(t.Current("glCol")).DataMap ‘如果更换了列的datamap,
其他行原来选好值的数据不见了,后台虽然有,但是不显示
ElseIf CurTbl.cols(t.Current("glCol")).IsDate Then
t.grid.cols("glValue").Editor = new windows.forms.DateTimePicker
Else
t.grid.cols("glValue").Editor = new windows.forms.TextBox
End If
End If
Else
t.Cols("glValue").DataMap = Nothing
t.Current("glValue") = Nothing
t.grid.cols("glValue").Editor = new windows.forms.TextBox
End If
就是选了两行,对两个字段进行筛选,这两个字段在原表中都是datamap
第一行选好值后,点到第二行,更换了datamap,第一个选好的值消失了。
这种方式没有办法。值还是在的,由于没有了对应的datamap,所以没有办法显示。
还是自己做下拉窗口吧
追问:
如果使用下拉窗口,需要处理一下datamap.
请问如何遍历一个datamap,把值读入到listbox中?