有
Dim hiddens As List(Of Integer))
我想使用此列表值作为索引设置UltraGridRows的隐藏属性:
hiddens.Select(Function(x) ultraGrid1.Rows(x).Hidden = True)
该行编译并且我根本没有得到运行时异常,但是没有隐藏相应的行。这是在表达式中设置属性的有效方法吗?
答案 0 :(得分:2)
不要使用LINQ 设置属性。如果要修改某些内容,请使用循环。如果要查询某些内容,请使用LIN(Q)。所以你可以简单地使用For Each
(我会使用):
For Each index As Int32 In hiddens
ultraGrid1.Rows(index).Hidden = True
Next
或使用List.ForEach
:
hiddens.ForEach(Function(index) ultraGrid1.Rows(index).Hidden = True)
Erip Lippert:“表达式的目的是计算一个值,而不是引起副作用。声明的目的是引起副作用。”
请注意,在您使用For Eeach
(或隐式执行ToList
之类的其他方法)之前,您的查询甚至不会执行。这只是查询的定义。
答案 1 :(得分:0)
试试这个:
hiddens.ForEach(Function(x) ultraGrid1.Rows(x).Hidden = True)