FineUI 官方论坛
标题:
我来贡献点代码,让FineUI数据绑定支持dynamic对象
[打印本页]
作者:
飘移
时间:
2016-5-28 09:19
标题:
我来贡献点代码,让FineUI数据绑定支持dynamic对象
本帖最后由 飘移 于 2016-5-28 09:27 编辑
FineUI非常好用,但是有一个缺点,就是不支持dynamic对象的数据绑定。查了一下源代码,找了解决方案,其实只需要几行代码就可以搞定,这就是开源的好处。
本想直接在CodePlex上贡献代码,但不知道怎么加入项目,直接写在这儿吧,如果三石觉得有用,可以考虑合并在FineUI的下一个版本中。
这是ObjectUtil类的GetPropertyValue方法,加上4行代码,即可实现对dynamic对象的绑定,有需要的朋友可以试试。
public static object GetPropertyValue(object obj, string propertyName)
{
object result = null;
try
{
if (obj is DataRow)
{
result = (obj as DataRow)[propertyName];
}
else if (obj is DataRowView)
{
result = (obj as DataRowView)[propertyName];
}
else if (obj is IDictionary<string, object>) //新增的代码--开始
{
result = (obj as IDictionary<string, object>)[propertyName];
} //新增的代码--结束
else if (obj is JObject)
{
result = (obj as JObject).Value<JValue>(propertyName).Value; //.getValue(propertyName);
}
else
{
result = GetPropertyValueFormObject(obj, propertyName);
}
}
catch (Exception)
{
// 找不到此属性
}
return result;
}
复制代码
作者:
sanshi
时间:
2016-5-28 12:21
多谢,会加入开源版下个版本中(v4.2.4)
作者:
iceyellow
时间:
2016-7-21 08:28
请问什么是dynamic对象?
作者:
飞↑草
时间:
2016-8-18 15:32
腻害
作者:
下架学长
时间:
2016-9-2 17:17
sanshi 发表于 2016-5-28 12:21
多谢,会加入开源版下个版本中(v4.2.4)
能不能解释一下什么是dynamic 新手
欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/)
Powered by Discuz! X3.4