是否可以在DataTable筛选器中包含嵌入式.NET函数?我认为不是。请在与要包含的ToUpper函数有关的代码中查看我的嵌入式注释。
class TREE_OT_assign(bpy.types.Operator):
def get_items(........
def update(.........
names = bpy.props.EnumProperty(items=get_items, update=update)
def invoke(self, context, event):
答案 0 :(得分:2)
有一个简单的解决方案可以解决您的问题。
代替=运算符,使用LIKE运算符
Dim MyFilteredTable As DataTable = Test(MyTable, "[Enabled] LIKE 'TRUE'")
此外,测试方法中的所有代码都可以简化为
Dim dv As DataView = New DataView(Collection_In, Select_Condition, "", DataViewRowState.CurrentRows)
Return dv.ToTable()
答案 1 :(得分:2)
接受的答案是错误的,它暗示DataColumn Expression Like
比较运算符赋予某些特殊的不区分大小写的功能。
发件人:DataColumn.Expression Property - String Operators
要连接字符串,请使用+字符。的价值 DataSet类的CaseSensitive属性确定字符串是否 比较是区分大小写的。但是,您可以覆盖该值 带有DataTable类的CaseSensitive属性。
Like
运算符适用于OP示例代码的原因是DataTable.CaseSensitive
属性的默认值为False
(默认值)。下面的语句将产生一个包含两行的DataTable,其中[Enabled]
字段设置为不区分大小写的“ tRuE”等效项,只要该表被配置为进行不区分大小写的比较即可。
Dim MyFilteredTable As DataTable = (New DataView(MyTable, "[Enabled] ='tRuE'", "", DataViewRowState.CurrentRows)).ToTable()
发件人:DataTable.CaseSensitive Property
如果比较区分大小写,则为true;否则为false。否则为假。默认值 设置为父DataSet对象的CaseSensitive属性,或者 false 如果数据表是独立于数据集创建的。
还要注意:Parsing Literal Expressions
所有文字表达必须以不变文化表达 语言环境。当DataSet解析并转换文字表达式时,它 始终使用不变文化,而不是当前文化。